blob: 218e733037cb05b7721d2ae33c1b73810bf9b4c1 [file] [log] [blame]
// Copyright (c) 2017, 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
/// Iterator<E> iterator
/// Provides an iterator that iterates over the elements in insertion order.
/// @description Checks that [Iterator] iterates over all elements from the set
/// in insertion mode.
/// @author iarkh@unipro.ru
import "../../../Utils/expect.dart";
import "dart:collection";
void checkIterator(LinkedHashSet set, List list) {
Iterator it = set.iterator;
list.forEach((var element) {
it.moveNext();
Expect.equals(element, it.current);
});
Expect.isFalse(it.moveNext());
}
main() {
List list = [null, 0, 1, 2, "1", false, new Object(), []];
LinkedHashSet set = new LinkedHashSet.from(list);
checkIterator(set, list);
set = new LinkedHashSet();
list.clear();
checkIterator(set, list);
for (var i = 0; i < 150; i++) {
list.add(i);
set.add(i);
checkIterator(set, list);
}
list = ["0", "1", "2", "3", "4", "5"];
set.clear();
set.addAll(["0", "1", "2", "3", "4", "5"]);
checkIterator(set, list);
}