| // Copyright (c) 2017, 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. |
| |
| /** |
| * @assertion abstract class LinkedListEntry<E extends LinkedListEntry> |
| * The class provides the internal links that link elements together in the |
| * LinkedList, and a reference to the linked list itself that an element is |
| * currently part of. |
| * @description Checks that [LinkedListEntry] elements in the list contain links |
| * to the neighbour elements and the list itself. |
| * @author iarkh@unipro.ru |
| */ |
| import "../../../Utils/expect.dart"; |
| import "dart:collection"; |
| import "LinkedListEntry.lib.dart"; |
| |
| main() { |
| MyLinkedListEntry entry1 = new MyLinkedListEntry(1); |
| MyLinkedListEntry entry2 = new MyLinkedListEntry(2); |
| MyLinkedListEntry entry3 = new MyLinkedListEntry(3); |
| LinkedList<MyLinkedListEntry> list = new LinkedList<MyLinkedListEntry>(); |
| list.add(entry1); |
| list.add(entry2); |
| list.add(entry3); |
| |
| Expect.identical(list, entry1.list); |
| Expect.identical(list, entry2.list); |
| Expect.identical(list, entry3.list); |
| |
| Expect.equals(null, entry1.previous); |
| Expect.equals(entry2, entry1.next); |
| |
| Expect.equals(entry1, entry2.previous); |
| Expect.equals(entry3, entry2.next); |
| |
| Expect.equals(entry2, entry3.previous); |
| Expect.equals(null, entry3.next); |
| } |