Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: tests/corelib/nan_infinity_test.dart

Issue 28973002: Add isFinite getter to num. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Change comments to not use "whether". Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/corelib/corelib.status ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 6
7 // Dart test program for testing NaN and Infinity. 7 // Dart test program for testing NaN and Infinity.
8 8
9 void main() { 9 void main() {
10 // Sanity tests.
11 Expect.isFalse(1.5.isNaN);
12 Expect.isFalse(1.5.isInfinite);
13 Expect.isTrue(1.5.isFinite);
14 Expect.isFalse(1.5.isNegative);
15 Expect.isTrue((-1.5).isNegative);
16 Expect.isFalse(0.0.isNegative);
17 Expect.isTrue((-0.0).isNegative);
18 Expect.isTrue((-0.0).isFinite);
19
20 Expect.isFalse(1.isNaN);
21 Expect.isFalse(1.isInfinite);
22 Expect.isTrue(1.isFinite);
23 Expect.isFalse(1.isNegative);
24 Expect.isTrue((-1).isNegative);
25
26 // Test that predicates give the correct result.
10 Expect.isTrue(double.NAN.isNaN); 27 Expect.isTrue(double.NAN.isNaN);
11 Expect.isFalse(double.NAN.isInfinite); 28 Expect.isFalse(double.NAN.isInfinite);
29 Expect.isFalse(double.NAN.isFinite);
30 Expect.isFalse(double.NAN.isNegative);
31 Expect.isFalse((-double.NAN).isNegative);
32
12 Expect.isFalse(double.INFINITY.isNaN); 33 Expect.isFalse(double.INFINITY.isNaN);
13 Expect.isTrue(double.INFINITY.isInfinite); 34 Expect.isTrue(double.INFINITY.isInfinite);
35 Expect.isFalse(double.INFINITY.isFinite);
36 Expect.isFalse(double.INFINITY.isNegative);
37 Expect.isTrue((-double.INFINITY).isNegative);
38
14 Expect.isFalse(double.NEGATIVE_INFINITY.isNaN); 39 Expect.isFalse(double.NEGATIVE_INFINITY.isNaN);
15 Expect.isTrue(double.NEGATIVE_INFINITY.isInfinite); 40 Expect.isTrue(double.NEGATIVE_INFINITY.isInfinite);
41 Expect.isFalse(double.NEGATIVE_INFINITY.isFinite);
42 Expect.isTrue(double.NEGATIVE_INFINITY.isNegative);
43 Expect.isFalse((-double.NEGATIVE_INFINITY).isNegative);
44
45 // Test toString.
16 Expect.equals("NaN", double.NAN.toString()); 46 Expect.equals("NaN", double.NAN.toString());
17 Expect.equals("Infinity", double.INFINITY.toString()); 47 Expect.equals("Infinity", double.INFINITY.toString());
18 Expect.equals("-Infinity", double.NEGATIVE_INFINITY.toString()); 48 Expect.equals("-Infinity", double.NEGATIVE_INFINITY.toString());
19 Expect.isFalse(double.NAN == double.NAN); 49
50 // Test identities.
51 Expect.isTrue(identical(double.NAN, double.NAN)); /// 01: ok
52 Expect.isTrue(identical(double.INFINITY, double.INFINITY));
53 Expect.isTrue(identical(double.NEGATIVE_INFINITY, double.NEGATIVE_INFINITY));
54 Expect.isFalse(identical(double.NAN, double.INFINITY));
55 Expect.isFalse(identical(double.NAN, double.NEGATIVE_INFINITY));
56 Expect.isFalse(identical(double.INFINITY, double.NEGATIVE_INFINITY));
57 Expect.isTrue(identical(double.NAN, -double.NAN)); /// 01: continued
58 Expect.isTrue(identical(double.INFINITY, -double.NEGATIVE_INFINITY));
59 Expect.isTrue(identical(double.NEGATIVE_INFINITY, -double.INFINITY));
60
61 // Test equalities
20 Expect.isTrue(double.INFINITY == double.INFINITY); 62 Expect.isTrue(double.INFINITY == double.INFINITY);
21 Expect.isTrue(double.NEGATIVE_INFINITY == double.NEGATIVE_INFINITY); 63 Expect.isTrue(double.NEGATIVE_INFINITY == double.NEGATIVE_INFINITY);
64 Expect.isFalse(double.INFINITY == double.NEGATIVE_INFINITY);
65 Expect.isFalse(double.NEGATIVE_INFINITY == double.INFINITY);
66 Expect.isFalse(double.NAN == double.NAN);
67 Expect.isFalse(double.NAN == double.INFINITY);
68 Expect.isFalse(double.NAN == double.NEGATIVE_INFINITY);
69 Expect.isFalse(double.INFINITY == double.NAN);
70 Expect.isFalse(double.NEGATIVE_INFINITY == double.NAN);
71
72 // Test relational order.
22 Expect.isFalse(double.NAN < double.NAN); 73 Expect.isFalse(double.NAN < double.NAN);
23 Expect.isFalse(double.NAN < double.INFINITY); 74 Expect.isFalse(double.NAN < double.INFINITY);
24 Expect.isFalse(double.NAN < double.NEGATIVE_INFINITY); 75 Expect.isFalse(double.NAN < double.NEGATIVE_INFINITY);
25 Expect.isFalse(double.NAN > double.NAN); 76 Expect.isFalse(double.NAN > double.NAN);
26 Expect.isFalse(double.NAN > double.INFINITY); 77 Expect.isFalse(double.NAN > double.INFINITY);
27 Expect.isFalse(double.NAN > double.NEGATIVE_INFINITY); 78 Expect.isFalse(double.NAN > double.NEGATIVE_INFINITY);
28 Expect.isFalse(double.NAN == double.NAN);
29 Expect.isFalse(double.NAN == double.INFINITY);
30 Expect.isFalse(double.NAN == double.NEGATIVE_INFINITY);
31 Expect.isFalse(double.INFINITY < double.NAN); 79 Expect.isFalse(double.INFINITY < double.NAN);
32 Expect.isFalse(double.NEGATIVE_INFINITY < double.NAN); 80 Expect.isFalse(double.NEGATIVE_INFINITY < double.NAN);
33 Expect.isFalse(double.INFINITY > double.NAN); 81 Expect.isFalse(double.INFINITY > double.NAN);
34 Expect.isFalse(double.NEGATIVE_INFINITY > double.NAN); 82 Expect.isFalse(double.NEGATIVE_INFINITY > double.NAN);
35 Expect.isFalse(double.INFINITY == double.NAN); 83 Expect.isTrue(double.INFINITY > double.NEGATIVE_INFINITY);
36 Expect.isFalse(double.NEGATIVE_INFINITY == double.NAN); 84 Expect.isFalse(double.INFINITY < double.NEGATIVE_INFINITY);
85
86 // NaN is contagious.
37 Expect.isTrue((3.0 * double.NAN).isNaN); 87 Expect.isTrue((3.0 * double.NAN).isNaN);
38 Expect.isTrue(double.INFINITY > double.NEGATIVE_INFINITY); 88 Expect.isTrue((3.0 + double.NAN).isNaN);
89 Expect.isTrue((-double.NAN).isNaN);
39 } 90 }
OLDNEW
« no previous file with comments | « tests/corelib/corelib.status ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698