| // 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 factory ListQueue.from(Iterable elements) |
| /// Create a [ListQueue] containing all [elements]. |
| /// The elements are added to the queue, as by [addLast], in the order given by |
| /// [elements.iterator]. |
| /// @description Checks that created list contains all [elements] in correct |
| /// order. |
| /// @author kaigorodov |
| |
| import "../../../Utils/expect.dart"; |
| import "dart:collection"; |
| |
| void check(ListQueue l, Iterable c) { |
| Expect.isTrue(l.length == c.length); |
| c.forEach((var element) { |
| Expect.isTrue(l.removeFirst() == element); |
| }); |
| } |
| |
| main() { |
| ListQueue list = new ListQueue.from([1, 2, 3, 4, 5]); |
| check(list, [1, 2, 3, 4, 5]); |
| |
| Set set = new Set.from([1, 2, 3, 4, 5]); |
| list = new ListQueue.from(set); |
| check(list, set); |
| |
| ListQueue tmp = new ListQueue(); |
| tmp.addLast(1); |
| tmp.addLast(2); |
| list = new ListQueue.from(tmp); |
| check(list, tmp); |
| |
| list = new ListQueue.from(new ListQueue()); |
| check(list, []); |
| |
| list = new ListQueue.from([tmp, tmp, set]); |
| check(list, [tmp, tmp, set]); |
| |
| list = new ListQueue.from(new Set()); |
| check(list, []); |
| } |