| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import "dart:collection"; |
| import "../../../Utils/expect.dart"; |
| |
| class MyLinkedListEntry<E> extends LinkedListEntry<MyLinkedListEntry<E>> { |
| E value; |
| MyLinkedListEntry(this.value); |
| |
| String toString() { |
| return "($value)"; |
| } |
| } |
| |
| LinkedList<MyLinkedListEntry<E>> toLinkedList<E>(Iterable entries) { |
| var result = new LinkedList<MyLinkedListEntry<E>>(); |
| entries.forEach((entry) => result.add(new MyLinkedListEntry<E>(entry))); |
| return result; |
| } |
| |
| void entriesEquals(Iterable<MyLinkedListEntry> expected, |
| LinkedList<MyLinkedListEntry> actual) { |
| Iterator eit = expected.iterator; |
| Iterator ait = actual.iterator; |
| while (eit.moveNext()) { |
| Expect.isTrue(ait.moveNext()); |
| Expect.equals(eit.current, ait.current); |
| } |
| Expect.isFalse(ait.moveNext()); |
| } |
| |
| void contentEquals(Iterable expected, LinkedList<MyLinkedListEntry> actual) { |
| Iterator eit = expected.iterator; |
| Iterator ait = actual.iterator; |
| while (eit.moveNext()) { |
| Expect.isTrue(ait.moveNext()); |
| Expect.equals(eit.current, ait.current.value); |
| } |
| Expect.isFalse(ait.moveNext()); |
| } |