blob: cbc7d84c092ad709cd5248ebaa494206152ed51f [file] [log] [blame]
// Copyright (c) 2011, 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.
/// @assertion int compareTo(Comparable other)
/// ...
/// Positive infinity is greater than any finite value (any value apart from
/// itself and NaN), and negative infinity is less than any other value.
/// @description Checks that Infinity is greater than any other value (but NaN)
/// and less than any other value
/// @author sgrekhov@unipro.ru
import "../../../Utils/expect.dart";
main() {
List values = [
0.0,
double.maxFinite,
2.2250738585072014e-308, // min normal
4.9406564584124654e-324 // min
];
values.forEach((val) {
Expect.isTrue(double.infinity.compareTo(val) > 0);
Expect.isTrue(val.compareTo(double.infinity) < 0);
});
Expect.isTrue(double.nan.compareTo(double.infinity) > 0);
values.forEach((val) {
Expect.isTrue(double.negativeInfinity.compareTo(-val) < 0);
Expect.isTrue((-val).compareTo(double.negativeInfinity) > 0);
});
Expect.isTrue((-double.nan).compareTo(double.negativeInfinity) > 0);
}