Index: tests/corelib/iterable_to_set_test.dart |
diff --git a/tests/corelib/iterable_to_set_test.dart b/tests/corelib/iterable_to_set_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a8188b831fc2417dd0c2eb746d9fee36927272b3 |
--- /dev/null |
+++ b/tests/corelib/iterable_to_set_test.dart |
@@ -0,0 +1,55 @@ |
+// Copyright (c) 2012, 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. |
+ |
+main() { |
+ List<int> list1 = <int>[1, 2, 3]; |
+ List<int> list2 = const <int>[4, 4]; |
+ List<String> list3 = <String>[]; |
+ Set<int> set1 = new Set<int>(); |
+ set1..add(11) |
+ ..add(12) |
+ ..add(13); |
+ Set<String> set2 = new Set<String>(); |
+ set2..add("foo") |
+ ..add("bar") |
+ ..add("toto"); |
+ Set set3 = new Set(); |
+ |
+ var setCopy = list1.toSet(); |
+ Expect.equals(3, setCopy.length); |
+ Expect.isTrue(setCopy.contains(1)); |
+ Expect.isTrue(setCopy.contains(2)); |
+ Expect.isTrue(setCopy.contains(3)); |
+ Expect.isTrue(setCopy is Set<int>); |
+ Expect.isFalse(setCopy is Set<String>); |
+ |
+ setCopy = list2.toSet(); |
+ Expect.equals(1, setCopy.length); |
+ Expect.isTrue(setCopy.contains(4)); |
+ Expect.isTrue(setCopy is Set<int>); |
+ Expect.isFalse(setCopy is Set<String>); |
+ |
+ setCopy = list3.toSet(); |
+ Expect.isTrue(setCopy.isEmpty); |
+ Expect.isTrue(setCopy is Set<String>); |
+ Expect.isFalse(setCopy is Set<int>); |
+ |
+ setCopy = set1.toSet(); |
+ Expect.setEquals(set1, setCopy); |
+ Expect.isTrue(setCopy is Set<int>); |
+ Expect.isFalse(setCopy is Set<String>); |
+ Expect.isFalse(identical(setCopy, set1)); |
+ |
+ setCopy = set2.toSet(); |
+ Expect.setEquals(set2, setCopy); |
+ Expect.isTrue(setCopy is Set<String>); |
+ Expect.isFalse(setCopy is Set<int>); |
+ Expect.isFalse(identical(setCopy, set2)); |
+ |
+ setCopy = set3.toSet(); |
+ Expect.setEquals(set3, setCopy); |
+ Expect.isTrue(setCopy is Set<String>); |
+ Expect.isTrue(setCopy is Set<int>); |
+ Expect.isFalse(identical(setCopy, set3)); |
+} |