// 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. import "package:expect/expect.dart"; main() { List list1 = [1, 2, 3]; List list2 = const [4, 4]; List list3 = []; Set set1 = new Set(); set1..add(11)..add(12)..add(13); Set set2 = new Set(); 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); Expect.isFalse(setCopy is Set); setCopy = list2.toSet(); Expect.equals(1, setCopy.length); Expect.isTrue(setCopy.contains(4)); Expect.isTrue(setCopy is Set); Expect.isFalse(setCopy is Set); var setStrCopy = list3.toSet(); Expect.isTrue(setStrCopy.isEmpty); Expect.isTrue(setStrCopy is Set); Expect.isFalse(setStrCopy is Set); setCopy = set1.toSet(); Expect.setEquals(set1, setCopy); Expect.isTrue(setCopy is Set); Expect.isFalse(setCopy is Set); Expect.isFalse(identical(setCopy, set1)); setStrCopy = set2.toSet(); Expect.setEquals(set2, setStrCopy); Expect.isTrue(setStrCopy is Set); Expect.isFalse(setStrCopy is Set); Expect.isFalse(identical(setStrCopy, set2)); var set3Copy = set3.toSet(); Expect.setEquals(set3, set3Copy); Expect.isTrue(set3Copy is Set); Expect.isFalse(set3Copy is Set); Expect.isFalse(set3Copy is Set); Expect.isFalse(identical(set3Copy, set3)); }