blob: 16b975a2fd0f597c184d041957d3660d8b199f26 [file] [log] [blame]
// Copyright (c) 2016, 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 bool every(bool f(E element))
/// Checks every [element] in iteration order
/// @description Checks that elements get checked in the iteration order.
/// @author iarkh@unipro.ru
import "../../../Utils/expect.dart";
import "dart:collection";
class MyIterable extends Object with IterableMixin {
List _content;
MyIterable(List list): _content = list;
Iterator get iterator {
return _content.iterator;
}
}
main() {
List original = [1, 2, 7, -5, 9, 16, 4];
List res = [];
MyIterable iterable = new MyIterable(original);
iterable.every((var element) {
res.add(element);
return true;
});
Expect.listEquals(original, res);
res.clear();
iterable.every((var element) {
res.add(element);
return element > 0;
});
Expect.listEquals(res, [1, 2, 7, -5]);
res.clear();
iterable.every((var element) {
res.add(element);
return element < 10;
});
Expect.listEquals(res, [1, 2, 7, -5, 9, 16]);
}