blob: 65645195ad62ced7b288613ec88c1f04f1c0ca53 [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.
/// @assertion final Iterable<E> reversed
/// Returns an Iterable of the elements of this List in reverse order.
/// @description Checks that the returned [Iterator] iterates all elements of the
/// list.
/// @author kaigorodov
library reversed_A01_t01;
import "../../../Utils/expect.dart";
test(List<E> create<E>([int length, E fill])) {
void checkReversedIterator(List a) {
List b = create();
b.addAll(a);
Iterator it = b.reversed.iterator;
int i = a.length-1;
while (it.moveNext()) {
Expect.isTrue(it.current == a[i--]);
}
Expect.equals(-1, i);
}
checkReversedIterator([]);
checkReversedIterator(const [null, 0, "1", false, const []]);
checkReversedIterator(new List.filled(300, 0));
List a = new List.filled(365, 0);
for (var i = 0; i < a.length; i++) {
a[i] = i;
}
checkReversedIterator(a);
checkReversedIterator(["0", "1", "2", "3", "4", "5"]);
}