| /* |
| * 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 list |
| * BSD-style license that can be found in the LICENSE file. |
| */ |
| /** |
| * @assertion void addAll(Iterable<E> iterable) |
| * Adds all elements of [collection] at the end of the queue. |
| * The length of the queue is extended by the length of [iterable]. |
| * @description Checks that all elements of the [iterable] are added to the empty queue. |
| * @author kaigorodov |
| */ |
| import "../../../Utils/expect.dart"; |
| import "dart:collection"; |
| |
| check(List expected, DoubleLinkedQueue actual) { |
| Expect.equals(expected.length, actual.length); |
| int i = 0; |
| actual.forEach((var element) { |
| Expect.equals(expected[i++], element); |
| }); |
| } |
| |
| main() { |
| DoubleLinkedQueue queue = new DoubleLinkedQueue(); |
| List b = [1, 2, "1", "2", 1, 2, "1", "2"]; |
| queue.addAll(b); |
| check([1, 2, "1", "2", 1, 2, "1", "2"], queue); |
| |
| queue = new DoubleLinkedQueue(); |
| Set set = new Set.from([1, 2, 3, 4, 5]); |
| queue.addAll(set); |
| check([1, 2, 3, 4, 5], queue); |
| |
| queue = new DoubleLinkedQueue(); |
| DoubleLinkedQueue tmp = new DoubleLinkedQueue(); |
| tmp.addLast(1); |
| tmp.addLast(2); |
| queue.addAll(tmp); |
| check([1, 2],queue); |
| |
| queue = new DoubleLinkedQueue(); |
| queue.addAll([]); |
| check([], queue); |
| |
| queue = new DoubleLinkedQueue(); |
| queue.addAll(new DoubleLinkedQueue()); |
| check([], queue); |
| |
| queue = new DoubleLinkedQueue(); |
| queue.addAll(new Set()); |
| check([], queue); |
| } |