blob: 58c313c58e0be4b3fc2b667c953c27d2d6f9252f [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.fromIterable(Iterable iterable,
* {K key(element), V value(element)})
* Creates a [LinkedHashMap] where the keys and values are computed from the
* [iterable].
* @description Checks that if [key] and [value] functions specified then they
* are used for computing elements of this [iterable].
* @author sgrekhov@unipro.ru
*/
import "../../../Utils/expect.dart";
import "dart:collection";
key(element) => element * 2;
value(element) => element * 3;
check(Iterable it) {
LinkedHashMap m = new LinkedHashMap.fromIterable(it, key: key, value: value);
Expect.equals(it.length, m.length);
for (var v in it) {
Expect.equals(v * 3, m[v * 2]);
}
}
main() {
check([]);
check([-1, 1, 2, 3, 4, 0, 17]);
}