| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 // | 4 // |
| 5 // VMOptions= | 5 // VMOptions= |
| 6 | 6 |
| 7 // Tests of hash set behavior, with focus in iteration and concurrent | 7 // Tests of hash set behavior, with focus in iteration and concurrent |
| 8 // modification errors. | 8 // modification errors. |
| 9 | 9 |
| 10 library hash_map2_test; | 10 library hash_map2_test; |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 set.add(1); // Integers are identical if equal. | 294 set.add(1); // Integers are identical if equal. |
| 295 Expect.equals(2, set.length); | 295 Expect.equals(2, set.length); |
| 296 var complex = 4; | 296 var complex = 4; |
| 297 complex = set.length == 2 ? complex ~/ 4 : 87; // Avoid compile-time constant. | 297 complex = set.length == 2 ? complex ~/ 4 : 87; // Avoid compile-time constant. |
| 298 Expect.isTrue(set.contains(complex)); // 1 is in set, even if computed. | 298 Expect.isTrue(set.contains(complex)); // 1 is in set, even if computed. |
| 299 set.clear(); | 299 set.clear(); |
| 300 | 300 |
| 301 // All compile time constants are identical to themselves. | 301 // All compile time constants are identical to themselves. |
| 302 var constants = [ | 302 var constants = [ |
| 303 double.INFINITY, | 303 double.INFINITY, |
| 304 double.NAN, -0.0, //# 01: ok | 304 double.NAN, -0.0, //# 01: ok |
| 305 0.0, 42, "", null, false, true, #bif, testIdentitySet | 305 0.0, 42, "", null, false, true, #bif, testIdentitySet |
| 306 ]; | 306 ]; |
| 307 set.addAll(constants); | 307 set.addAll(constants); |
| 308 Expect.equals(constants.length, set.length); | 308 Expect.equals(constants.length, set.length); |
| 309 for (var c in constants) { | 309 for (var c in constants) { |
| 310 Expect.isTrue(set.contains(c), "constant: $c"); | 310 Expect.isTrue(set.contains(c), "constant: $c"); |
| 311 } | 311 } |
| 312 Expect.isTrue(set.containsAll(constants), "constants: $set"); | 312 Expect.isTrue(set.containsAll(constants), "constants: $set"); |
| 313 set.clear(); | 313 set.clear(); |
| 314 | 314 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 // Can't make a bad compareTo that isn't invalid. | 354 // Can't make a bad compareTo that isn't invalid. |
| 355 int compareTo(BadHashCode other) => id - other.id; | 355 int compareTo(BadHashCode other) => id - other.id; |
| 356 } | 356 } |
| 357 | 357 |
| 358 class Mutable { | 358 class Mutable { |
| 359 int id; | 359 int id; |
| 360 Mutable(this.id); | 360 Mutable(this.id); |
| 361 int get hashCode => id; | 361 int get hashCode => id; |
| 362 bool operator ==(other) => other is Mutable && id == other.id; | 362 bool operator ==(other) => other is Mutable && id == other.id; |
| 363 } | 363 } |
| OLD | NEW |