blob: bebec33be7f02d1c9bee8e90c2e640bf31602e94 [file] [log] [blame]
// 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 Iterable expand(Iterable f(E element))
/// The returned [Iterable] is lazy, and calls [f] for each element of this every
/// time it's iterated.
/// @description Checks that the returned calls f for each element of this
/// every time it's iterated.
/// @author kaigorodov
import "../../../Utils/expect.dart";
import "dart:collection";
int count=0;
Iterable f(int element) {
count++;
return [count];
}
main() {
DoubleLinkedQueue<int> queue = new DoubleLinkedQueue<int>();
for (int k = 0; k < 10; k++) {
queue.add(k);
}
Iterable expanded = queue.expand(f);
int count2 = 0;
for (int k = 1; k < 10; k++) {
Iterator it=expanded.iterator;
while (it.moveNext()) {
count2++;
Expect.equals(count2, it.current);
}
}
}