OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 // Dart test for testing Math.min and Math.max. | 4 // Dart test for testing Math.min and Math.max. |
5 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation | 5 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation |
6 | 6 |
7 library min_max_test; | 7 library min_max_test; |
| 8 |
8 import "package:expect/expect.dart"; | 9 import "package:expect/expect.dart"; |
9 import 'dart:math'; | 10 import 'dart:math'; |
10 | 11 |
11 var inf = double.INFINITY; | 12 var inf = double.INFINITY; |
12 var nan = double.NAN; | 13 var nan = double.NAN; |
13 | 14 |
14 // A class that might work if [min] and [max] worked for non-numbers. | 15 // A class that might work if [min] and [max] worked for non-numbers. |
15 class Wrap implements Comparable { | 16 class Wrap implements Comparable { |
16 final value; | 17 final value; |
17 Wrap(this.value); | 18 Wrap(this.value); |
18 int compareTo(Wrap other) => value.compareTo(other.value); | 19 int compareTo(Wrap other) => value.compareTo(other.value); |
19 bool operator<(Wrap other) => compareTo(other) < 0; | 20 bool operator <(Wrap other) => compareTo(other) < 0; |
20 bool operator<=(Wrap other) => compareTo(other) <= 0; | 21 bool operator <=(Wrap other) => compareTo(other) <= 0; |
21 bool operator>(Wrap other) => compareTo(other) > 0; | 22 bool operator >(Wrap other) => compareTo(other) > 0; |
22 bool operator>=(Wrap other) => compareTo(other) >= 0; | 23 bool operator >=(Wrap other) => compareTo(other) >= 0; |
23 bool operator==(other) => other is Wrap && compareTo(other) == 0; | 24 bool operator ==(other) => other is Wrap && compareTo(other) == 0; |
24 String toString() => 'Wrap($value)'; | 25 String toString() => 'Wrap($value)'; |
25 int get hashCode => value.hashCode; | 26 int get hashCode => value.hashCode; |
26 } | 27 } |
27 | 28 |
28 var wrap1 = new Wrap(1); | 29 var wrap1 = new Wrap(1); |
29 var wrap2 = new Wrap(2); | 30 var wrap2 = new Wrap(2); |
30 | 31 |
31 testMin() { | 32 testMin() { |
32 testMin1(); | 33 testMin1(); |
33 testMin2(); | 34 testMin2(); |
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
571 Expect.throws(() => min(wrap1, 0)); | 572 Expect.throws(() => min(wrap1, 0)); |
572 Expect.throws(() => min(0, wrap2)); | 573 Expect.throws(() => min(0, wrap2)); |
573 } | 574 } |
574 | 575 |
575 main() { | 576 main() { |
576 testMin(); | 577 testMin(); |
577 testMin(); | 578 testMin(); |
578 testMax(); | 579 testMax(); |
579 testMax(); | 580 testMax(); |
580 } | 581 } |
OLD | NEW |