dart-sdk/tests/language/map/ordered_test.dart
Robert Nystrom 0429dda6d2 Migrate language_2/map to NNBD.
Change-Id: I7567d8f705b84a286e4091ece850ccbf5966e6b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149490
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2020-05-30 01:39:28 +00:00

81 lines
2.1 KiB
Dart

// Copyright (c) 2011, 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.
import "package:expect/expect.dart";
// Tests that map literals are ordered.
class OrderedMapsTest {
static testMain() {
testMaps(const {"a": 1, "c": 2}, const {"c": 2, "a": 1}, true);
testMaps({"a": 1, "c": 2}, {"c": 2, "a": 1}, false);
}
static void testMaps(map1, map2, bool isConst) {
Expect.isFalse(identical(map1, map2));
var keys = map1.keys.toList();
Expect.equals(2, keys.length);
Expect.equals("a", keys[0]);
Expect.equals("c", keys[1]);
keys = map2.keys.toList();
Expect.equals(2, keys.length);
Expect.equals("c", keys[0]);
Expect.equals("a", keys[1]);
var values = map1.values.toList();
Expect.equals(2, values.length);
Expect.equals(1, values[0]);
Expect.equals(2, values[1]);
values = map2.values.toList();
Expect.equals(2, values.length);
Expect.equals(2, values[0]);
Expect.equals(1, values[1]);
if (isConst) return;
map1["b"] = 3;
map2["b"] = 3;
keys = map1.keys.toList();
Expect.equals(3, keys.length);
Expect.equals("a", keys[0]);
Expect.equals("c", keys[1]);
Expect.equals("b", keys[2]);
keys = map2.keys.toList();
Expect.equals(3, keys.length);
Expect.equals("c", keys[0]);
Expect.equals("a", keys[1]);
Expect.equals("b", keys[2]);
values = map1.values.toList();
Expect.equals(3, values.length);
Expect.equals(1, values[0]);
Expect.equals(2, values[1]);
Expect.equals(3, values[2]);
values = map2.values.toList();
Expect.equals(3, values.length);
Expect.equals(2, values[0]);
Expect.equals(1, values[1]);
Expect.equals(3, values[2]);
map1["a"] = 4;
keys = map1.keys.toList();
Expect.equals(3, keys.length);
Expect.equals("a", keys[0]);
values = map1.values.toList();
Expect.equals(3, values.length);
Expect.equals(4, values[0]);
}
}
main() {
OrderedMapsTest.testMain();
}