blob: adbf8048a40e54dba9691daa4adf6bdfc035b96f [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.
// @dart = 2.9
/// @assertion SplayTreeMap.fromIterables(Iterable<K> keys, Iterable<V> values,
/// [int compare(K key1, K key2), bool isValidKey(potentialKey)])
/// If keys contains the same object multiple times, the last occurrence
/// overwrites the previous value.
/// @description Checks that created SplayTreeMap contains all elements of the
/// given [keys] and [values].
/// @author sgrekhov@unipro.ru
import "dart:collection";
import "../../../Utils/expect.dart";
check(Iterable keys, Iterable keysExpected, Iterable values,
Iterable valuesExpected) {
SplayTreeMap m = new SplayTreeMap.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", "2", "2"], ["1", "2"], [1, 2, 3, 4], [2, 4]);
}