| // 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<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)); | 
 | } |