| Index: tests/corelib/nan_infinity_test.dart
|
| diff --git a/tests/corelib/nan_infinity_test.dart b/tests/corelib/nan_infinity_test.dart
|
| index 83e9455ce19e4b9e21c16099047f6360ba0d5c6b..949658458d89ae55e1a2296d4cc27f9994b4f589 100644
|
| --- a/tests/corelib/nan_infinity_test.dart
|
| +++ b/tests/corelib/nan_infinity_test.dart
|
| @@ -7,33 +7,84 @@ import "package:expect/expect.dart";
|
| // Dart test program for testing NaN and Infinity.
|
|
|
| void main() {
|
| + // Sanity tests.
|
| + Expect.isFalse(1.5.isNaN);
|
| + Expect.isFalse(1.5.isInfinite);
|
| + Expect.isTrue(1.5.isFinite);
|
| + Expect.isFalse(1.5.isNegative);
|
| + Expect.isTrue((-1.5).isNegative);
|
| + Expect.isFalse(0.0.isNegative);
|
| + Expect.isTrue((-0.0).isNegative);
|
| + Expect.isTrue((-0.0).isFinite);
|
| +
|
| + Expect.isFalse(1.isNaN);
|
| + Expect.isFalse(1.isInfinite);
|
| + Expect.isTrue(1.isFinite);
|
| + Expect.isFalse(1.isNegative);
|
| + Expect.isTrue((-1).isNegative);
|
| +
|
| + // Test that predicates give the correct result.
|
| Expect.isTrue(double.NAN.isNaN);
|
| Expect.isFalse(double.NAN.isInfinite);
|
| + Expect.isFalse(double.NAN.isFinite);
|
| + Expect.isFalse(double.NAN.isNegative);
|
| + Expect.isFalse((-double.NAN).isNegative);
|
| +
|
| Expect.isFalse(double.INFINITY.isNaN);
|
| Expect.isTrue(double.INFINITY.isInfinite);
|
| + Expect.isFalse(double.INFINITY.isFinite);
|
| + Expect.isFalse(double.INFINITY.isNegative);
|
| + Expect.isTrue((-double.INFINITY).isNegative);
|
| +
|
| Expect.isFalse(double.NEGATIVE_INFINITY.isNaN);
|
| Expect.isTrue(double.NEGATIVE_INFINITY.isInfinite);
|
| + Expect.isFalse(double.NEGATIVE_INFINITY.isFinite);
|
| + Expect.isTrue(double.NEGATIVE_INFINITY.isNegative);
|
| + Expect.isFalse((-double.NEGATIVE_INFINITY).isNegative);
|
| +
|
| + // Test toString.
|
| Expect.equals("NaN", double.NAN.toString());
|
| Expect.equals("Infinity", double.INFINITY.toString());
|
| Expect.equals("-Infinity", double.NEGATIVE_INFINITY.toString());
|
| - Expect.isFalse(double.NAN == double.NAN);
|
| +
|
| + // Test identities.
|
| + Expect.isTrue(identical(double.NAN, double.NAN)); /// 01: ok
|
| + Expect.isTrue(identical(double.INFINITY, double.INFINITY));
|
| + Expect.isTrue(identical(double.NEGATIVE_INFINITY, double.NEGATIVE_INFINITY));
|
| + Expect.isFalse(identical(double.NAN, double.INFINITY));
|
| + Expect.isFalse(identical(double.NAN, double.NEGATIVE_INFINITY));
|
| + Expect.isFalse(identical(double.INFINITY, double.NEGATIVE_INFINITY));
|
| + Expect.isTrue(identical(double.NAN, -double.NAN)); /// 01: continued
|
| + Expect.isTrue(identical(double.INFINITY, -double.NEGATIVE_INFINITY));
|
| + Expect.isTrue(identical(double.NEGATIVE_INFINITY, -double.INFINITY));
|
| +
|
| + // Test equalities
|
| Expect.isTrue(double.INFINITY == double.INFINITY);
|
| Expect.isTrue(double.NEGATIVE_INFINITY == double.NEGATIVE_INFINITY);
|
| + Expect.isFalse(double.INFINITY == double.NEGATIVE_INFINITY);
|
| + Expect.isFalse(double.NEGATIVE_INFINITY == double.INFINITY);
|
| + Expect.isFalse(double.NAN == double.NAN);
|
| + Expect.isFalse(double.NAN == double.INFINITY);
|
| + Expect.isFalse(double.NAN == double.NEGATIVE_INFINITY);
|
| + Expect.isFalse(double.INFINITY == double.NAN);
|
| + Expect.isFalse(double.NEGATIVE_INFINITY == double.NAN);
|
| +
|
| + // Test relational order.
|
| Expect.isFalse(double.NAN < double.NAN);
|
| Expect.isFalse(double.NAN < double.INFINITY);
|
| Expect.isFalse(double.NAN < double.NEGATIVE_INFINITY);
|
| Expect.isFalse(double.NAN > double.NAN);
|
| Expect.isFalse(double.NAN > double.INFINITY);
|
| Expect.isFalse(double.NAN > double.NEGATIVE_INFINITY);
|
| - Expect.isFalse(double.NAN == double.NAN);
|
| - Expect.isFalse(double.NAN == double.INFINITY);
|
| - Expect.isFalse(double.NAN == double.NEGATIVE_INFINITY);
|
| Expect.isFalse(double.INFINITY < double.NAN);
|
| Expect.isFalse(double.NEGATIVE_INFINITY < double.NAN);
|
| Expect.isFalse(double.INFINITY > double.NAN);
|
| Expect.isFalse(double.NEGATIVE_INFINITY > double.NAN);
|
| - Expect.isFalse(double.INFINITY == double.NAN);
|
| - Expect.isFalse(double.NEGATIVE_INFINITY == double.NAN);
|
| - Expect.isTrue((3.0 * double.NAN).isNaN);
|
| Expect.isTrue(double.INFINITY > double.NEGATIVE_INFINITY);
|
| + Expect.isFalse(double.INFINITY < double.NEGATIVE_INFINITY);
|
| +
|
| + // NaN is contagious.
|
| + Expect.isTrue((3.0 * double.NAN).isNaN);
|
| + Expect.isTrue((3.0 + double.NAN).isNaN);
|
| + Expect.isTrue((-double.NAN).isNaN);
|
| }
|
|
|