blob: a93985d672db0fe346460d5012595306d5bc96ee [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 LinkedHashMap.fromIterables(Iterable<K> keys, Iterable<V> values)
* ...
* If [keys] contains the same object multiple times, the last occurrence
* overwrites the previous value.
* @description Checks that if [keys] contains the same object multiple times,
* the last occurrence overwrites the previous value.
* @author sgrekhov@unipro.ru
*/
import "../../../Utils/expect.dart";
import "dart:collection";
check(Iterable keys, Iterable keysExpected, Iterable values,
Iterable valuesExpected) {
LinkedHashMap m = new LinkedHashMap.fromIterables(keys, values);
Expect.equals(keysExpected.length, m.length);
for (int i = 0; i < keysExpected.length; i++) {
Expect.equals(valuesExpected.elementAt(i), m[keysExpected.elementAt(i)]);
}
}
main() {
check([1, 2, 1, 1], [1, 2], [1, 2, 3, 4], [4, 2]);
check([1, 1, 1, 1], [1], [1, 2, 3, 4], [4]);
check([1, 1, null, null], [1, null], [1, 2, 3, 4], [2, 4]);
}