| // 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. |
| |
| /// @assertion void addAll(Iterable<E> entries) |
| /// Add [entries] to the end of the list. |
| /// @description Checks that all elements of the [collection] are added to the |
| /// end of list. |
| /// @author kaigorodov |
| |
| import "../../../Utils/expect.dart"; |
| import "dart:collection"; |
| import "LinkedList.lib.dart"; |
| |
| const sz = 1000; |
| |
| main() { |
| LinkedList<MyLinkedListEntry> a = new LinkedList<MyLinkedListEntry>(); |
| a.addAll( |
| new Iterable.generate(sz, (int index) => new MyLinkedListEntry(index))); |
| Iterator<MyLinkedListEntry> ita = a.iterator; |
| for (var i = 0; i < sz; i++){ |
| Expect.isTrue(ita.moveNext()); |
| Expect.equals(i, ita.current.value); |
| } |
| Expect.isFalse(ita.moveNext()); |
| |
| a = new LinkedList<MyLinkedListEntry>(); |
| Set<MyLinkedListEntry> set = new Set<MyLinkedListEntry>(); |
| set.addAll( |
| [1, 2, 3, 4, 5].map((var element) => new MyLinkedListEntry(element))); |
| a.addAll(set); |
| contentEquals(set.map((MyLinkedListEntry entry) => entry.value), a); |
| |
| a = new LinkedList<MyLinkedListEntry>(); |
| Queue<MyLinkedListEntry> list = new Queue<MyLinkedListEntry>(); |
| list.addLast(new MyLinkedListEntry(1)); |
| list.addLast(new MyLinkedListEntry(2)); |
| a.addAll(list); |
| contentEquals([1, 2], a); |
| |
| a = new LinkedList<MyLinkedListEntry>(); |
| a.addAll([]); |
| contentEquals([], a); |
| |
| a = new LinkedList<MyLinkedListEntry>(); |
| a.addAll(new Queue()); |
| contentEquals([], a); |
| |
| a = new LinkedList<MyLinkedListEntry>(); |
| a.addAll(new Set()); |
| contentEquals([], a); |
| } |