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

Unified Diff: tests/language/src/DoubleToStringAsPrecisionTest.dart

Issue 9113043: Implement Double.{toString, toStringAsExponential, toStringAsPrecision} (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated status files. Created 8 years, 10 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/language/src/DoubleToStringAsFixedTest.dart ('k') | tests/language/src/ToStringAsFixedTest.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/language/src/DoubleToStringAsPrecisionTest.dart
diff --git a/tests/language/src/DoubleToStringAsPrecisionTest.dart b/tests/language/src/DoubleToStringAsPrecisionTest.dart
new file mode 100644
index 0000000000000000000000000000000000000000..ac91affa6d6f48311f7312a430c54736e56da3f7
--- /dev/null
+++ b/tests/language/src/DoubleToStringAsPrecisionTest.dart
@@ -0,0 +1,40 @@
+// Copyright (c) 2012, 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.
+// Test basic integer operations.
+
+main() {
+ Expect.equals("NaN", (double.NAN).toStringAsPrecision(1));
+ Expect.equals("Infinity", (double.INFINITY).toStringAsPrecision(2));
+ Expect.equals("-Infinity", (-double.INFINITY).toStringAsPrecision(2));
+ Expect.equals("0.000555000000000000", (0.000555).toStringAsPrecision(15));
+ Expect.equals("5.55000000000000e-7", (0.000000555).toStringAsPrecision(15));
+ Expect.equals("-5.55000000000000e-7", (-0.000000555).toStringAsPrecision(15));
+ Expect.equals("1e+8", (123456789.0).toStringAsPrecision(1));
+ Expect.equals("123456789", (123456789.0).toStringAsPrecision(9));
+ Expect.equals("1.2345679e+8", (123456789.0).toStringAsPrecision(8));
+ Expect.equals("1.234568e+8", (123456789.0).toStringAsPrecision(7));
+ Expect.equals("-1.234568e+8", (-123456789.0).toStringAsPrecision(7));
+ Expect.equals("-1.2e-9", (-.0000000012345).toStringAsPrecision(2));
+ Expect.equals("-1.2e-8", (-.000000012345).toStringAsPrecision(2));
+ Expect.equals("-1.2e-7", (-.00000012345).toStringAsPrecision(2));
+ Expect.equals("-0.0000012", (-.0000012345).toStringAsPrecision(2));
+ Expect.equals("-0.000012", (-.000012345).toStringAsPrecision(2));
+ Expect.equals("-0.00012", (-.00012345).toStringAsPrecision(2));
+ Expect.equals("-0.0012", (-.0012345).toStringAsPrecision(2));
+ Expect.equals("-0.012", (-.012345).toStringAsPrecision(2));
+ Expect.equals("-0.12", (-.12345).toStringAsPrecision(2));
+ Expect.equals("-1.2", (-1.2345).toStringAsPrecision(2));
+ Expect.equals("-12", (-12.345).toStringAsPrecision(2));
+ Expect.equals("-1.2e+2", (-123.45).toStringAsPrecision(2));
+ Expect.equals("-1.2e+3", (-1234.5).toStringAsPrecision(2));
+ Expect.equals("-1.2e+4", (-12345.0).toStringAsPrecision(2));
+ Expect.equals("-1.235e+4", (-12345.67).toStringAsPrecision(4));
+ Expect.equals("-1.234e+4", (-12344.67).toStringAsPrecision(4));
+ Expect.equals("-0.0", (-0.0).toStringAsPrecision(2));
+ Expect.equals("-0", (-0.0).toStringAsPrecision(1));
+ // Test that we round up even when the last digit generated is even.
+ // dtoa does not do this in its original form.
+ Expect.equals("1.3", 1.25.toStringAsPrecision(2));
+ Expect.equals("1.4", 1.35.toStringAsPrecision(2));
+}
« no previous file with comments | « tests/language/src/DoubleToStringAsFixedTest.dart ('k') | tests/language/src/ToStringAsFixedTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698