| // 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. |
| |
| // @dart = 2.9 |
| |
| /// @assertion abstract Iterable map(f(E element)) |
| /// Returns a new lazy Iterable with elements that are created by calling f on |
| /// each element of this Iterable in iteration order. |
| /// @description Checks that the resulting [Iterable] contains all the results of |
| /// [f(e)]. |
| /// @author kaigorodov |
| |
| |
| import "dart:collection"; |
| import "../../../Utils/expect.dart"; |
| |
| f(var element) { |
| return [element]; |
| } |
| |
| void checkResult(DoubleLinkedQueue queue) { |
| int count = 0; |
| Iterable mapIter = queue.map(f); |
| for (var el in mapIter) { |
| Expect.listEquals(f(queue.elementAt(count)), el); |
| count++; |
| } |
| Expect.equals(queue.length, count); |
| } |
| |
| main() { |
| DoubleLinkedQueue queue = new DoubleLinkedQueue(); |
| checkResult(queue); |
| queue.add(22); |
| checkResult(queue); |
| queue.add(11); |
| checkResult(queue); |
| queue.add(11); |
| checkResult(queue); |
| for (int k = -100; k < 200; k++) { |
| queue.add(k); |
| } |
| checkResult(queue); |
| } |