blob: de0e15da1db2860abac774df38f6c1db3116412a [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].
/// For each element of the [iterable] this constructor computes a key/value
/// pair, by applying [key] and [value] respectively.
/// @description Checks that created hash map contains all elements of [iterable]
/// Both empty and non-empty argument maps are tested.
/// @author
import "../../../Utils/expect.dart";
import "dart:collection";
check(Iterable it) {
LinkedHashMap m = new LinkedHashMap.fromIterable(it);
Expect.equals(it.length, m.length);
for (var v in it) {
Expect.equals(v, m[v]);
main() {
check([1, 2, 3, 4, "5", 6, null, 7]);
check([-1, 2.2, new Object(), "", "5", null, new Object()]);