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

Side by Side Diff: tests/language/arithmetic_test.dart

Issue 10829459: Deprecate Math object in corelib in favor of dart:math library. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address review comments. Created 8 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/isolate/mandel_isolate_test.dart ('k') | tests/language/closure_type_test.dart » ('j') | 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) 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 program to test arithmetic operations. 4 // Dart test program to test arithmetic operations.
5 5
6 #library('arithmetic_test');
7 #import('dart:math');
8
6 class ArithmeticTest { 9 class ArithmeticTest {
7 10
8 static bool exceptionCaughtParseInt(String s) { 11 static bool exceptionCaughtParseInt(String s) {
9 try { 12 try {
10 Math.parseInt(s); 13 parseInt(s);
11 return false; 14 return false;
12 } catch (FormatException e) { 15 } catch (FormatException e) {
13 return true; 16 return true;
14 } 17 }
15 } 18 }
16 19
17 static bool exceptionCaughtParseDouble(String s) { 20 static bool exceptionCaughtParseDouble(String s) {
18 try { 21 try {
19 Math.parseDouble(s); 22 parseDouble(s);
20 return false; 23 return false;
21 } catch (FormatException e) { 24 } catch (FormatException e) {
22 return true; 25 return true;
23 } 26 }
24 } 27 }
25 28
26 static bool toIntThrowsFormatException(String str) { 29 static bool toIntThrowsFormatException(String str) {
27 // No exception allowed for parse double. 30 // No exception allowed for parse double.
28 double d = Math.parseDouble(str); 31 double d = parseDouble(str);
29 try { 32 try {
30 var a = d.toInt(); 33 var a = d.toInt();
31 return false; 34 return false;
32 } catch (FormatException e) { 35 } catch (FormatException e) {
33 return true; 36 return true;
34 } 37 }
35 } 38 }
36 39
37 static runOne() { 40 static runOne() {
38 var a = 22; 41 var a = 22;
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 { double d = (0).toDouble(); } 333 { double d = (0).toDouble(); }
331 { double d = (1).toDouble(); } 334 { double d = (1).toDouble(); }
332 { double d = (-1).toDouble(); } 335 { double d = (-1).toDouble(); }
333 // Big. 336 // Big.
334 Expect.equals(big, big.toInt()); 337 Expect.equals(big, big.toInt());
335 Expect.equals(-big, (-big).toInt()); 338 Expect.equals(-big, (-big).toInt());
336 { int i = big.toInt(); } 339 { int i = big.toInt(); }
337 { int i = (-big).toInt(); } 340 { int i = (-big).toInt(); }
338 341
339 // Math functions. 342 // Math functions.
340 Expect.equals(2.0, Math.sqrt(4.0)); 343 Expect.equals(2.0, sqrt(4.0));
341 Expect.approxEquals(1.0, Math.sin(3.14159265 / 2.0)); 344 Expect.approxEquals(1.0, sin(3.14159265 / 2.0));
342 Expect.approxEquals(-1.0, Math.cos(3.14159265)); 345 Expect.approxEquals(-1.0, cos(3.14159265));
343 346
344 Expect.equals(12, Math.parseInt("12")); 347 Expect.equals(12, parseInt("12"));
345 Expect.equals(-12, Math.parseInt("-12")); 348 Expect.equals(-12, parseInt("-12"));
346 Expect.equals(12345678901234567890, 349 Expect.equals(12345678901234567890,
347 Math.parseInt("12345678901234567890")); 350 parseInt("12345678901234567890"));
348 Expect.equals(-12345678901234567890, 351 Expect.equals(-12345678901234567890,
349 Math.parseInt("-12345678901234567890")); 352 parseInt("-12345678901234567890"));
350 // Type checks. 353 // Type checks.
351 { int i = Math.parseInt("12"); } 354 { int i = parseInt("12"); }
352 { int i = Math.parseInt("-12"); } 355 { int i = parseInt("-12"); }
353 { int i = Math.parseInt("12345678901234567890"); } 356 { int i = parseInt("12345678901234567890"); }
354 { int i = Math.parseInt("-12345678901234567890"); } 357 { int i = parseInt("-12345678901234567890"); }
355 358
356 Expect.equals(1.2, Math.parseDouble("1.2")); 359 Expect.equals(1.2, parseDouble("1.2"));
357 Expect.equals(-1.2, Math.parseDouble("-1.2")); 360 Expect.equals(-1.2, parseDouble("-1.2"));
358 // Type checks. 361 // Type checks.
359 { double d = Math.parseDouble("1.2"); } 362 { double d = parseDouble("1.2"); }
360 { double d = Math.parseDouble("-1.2"); } 363 { double d = parseDouble("-1.2"); }
361 { double d = Math.parseDouble("0"); } 364 { double d = parseDouble("0"); }
362 365
363 // Random 366 // Random
364 { double d = Math.random(); } 367 {
368 Random rand = new Random();
369 double d = rand.nextDouble();
370 }
365 371
366 Expect.equals(false, exceptionCaughtParseInt("22")); 372 Expect.equals(false, exceptionCaughtParseInt("22"));
367 Expect.equals(true, exceptionCaughtParseInt("alpha")); 373 Expect.equals(true, exceptionCaughtParseInt("alpha"));
368 Expect.equals(true, exceptionCaughtParseInt("-alpha")); 374 Expect.equals(true, exceptionCaughtParseInt("-alpha"));
369 Expect.equals(false, exceptionCaughtParseDouble("22.2")); 375 Expect.equals(false, exceptionCaughtParseDouble("22.2"));
370 Expect.equals(true, exceptionCaughtParseDouble("alpha")); 376 Expect.equals(true, exceptionCaughtParseDouble("alpha"));
371 Expect.equals(true, exceptionCaughtParseDouble("-alpha")); 377 Expect.equals(true, exceptionCaughtParseDouble("-alpha"));
372 378
373 Expect.equals(false, Math.parseDouble("1.2").isNaN()); 379 Expect.equals(false, parseDouble("1.2").isNaN());
374 Expect.equals(false, Math.parseDouble("1.2").isInfinite()); 380 Expect.equals(false, parseDouble("1.2").isInfinite());
375 381
376 Expect.equals(true, Math.parseDouble("NaN").isNaN()); 382 Expect.equals(true, parseDouble("NaN").isNaN());
377 Expect.equals(true, Math.parseDouble("Infinity").isInfinite()); 383 Expect.equals(true, parseDouble("Infinity").isInfinite());
378 Expect.equals(true, Math.parseDouble("-Infinity").isInfinite()); 384 Expect.equals(true, parseDouble("-Infinity").isInfinite());
379 385
380 Expect.equals(false, Math.parseDouble("NaN").isNegative()); 386 Expect.equals(false, parseDouble("NaN").isNegative());
381 Expect.equals(false, Math.parseDouble("Infinity").isNegative()); 387 Expect.equals(false, parseDouble("Infinity").isNegative());
382 Expect.equals(true, Math.parseDouble("-Infinity").isNegative()); 388 Expect.equals(true, parseDouble("-Infinity").isNegative());
383 389
384 Expect.equals("NaN", Math.parseDouble("NaN").toString()); 390 Expect.equals("NaN", parseDouble("NaN").toString());
385 Expect.equals("Infinity", Math.parseDouble("Infinity").toString()); 391 Expect.equals("Infinity", parseDouble("Infinity").toString());
386 Expect.equals("-Infinity", Math.parseDouble("-Infinity").toString()); 392 Expect.equals("-Infinity", parseDouble("-Infinity").toString());
387 393
388 Expect.equals(false, toIntThrowsFormatException("1.2")); 394 Expect.equals(false, toIntThrowsFormatException("1.2"));
389 Expect.equals(true, toIntThrowsFormatException("Infinity")); 395 Expect.equals(true, toIntThrowsFormatException("Infinity"));
390 Expect.equals(true, toIntThrowsFormatException("-Infinity")); 396 Expect.equals(true, toIntThrowsFormatException("-Infinity"));
391 Expect.equals(true, toIntThrowsFormatException("NaN")); 397 Expect.equals(true, toIntThrowsFormatException("NaN"));
392 398
393 // Min/max 399 // Min/max
394 Expect.equals(1, Math.min(1, 12)); 400 Expect.equals(1, min(1, 12));
395 Expect.equals(12, Math.max(1, 12)); 401 Expect.equals(12, max(1, 12));
396 Expect.equals(1.0, Math.min(1.0, 12.0)); 402 Expect.equals(1.0, min(1.0, 12.0));
397 Expect.equals(12.0, Math.max(1.0, 12.0)); 403 Expect.equals(12.0, max(1.0, 12.0));
398 Expect.equals(false, 1.0 < Math.min(1.0, 12.0)); 404 Expect.equals(false, 1.0 < min(1.0, 12.0));
399 Expect.equals(true, 1.0 < Math.max(1.0, 12.0)); 405 Expect.equals(true, 1.0 < max(1.0, 12.0));
400 406
401 // Hashcode 407 // Hashcode
402 Expect.equals(false, (3.4).hashCode() == (1.2).hashCode()); 408 Expect.equals(false, (3.4).hashCode() == (1.2).hashCode());
403 Expect.equals(true, (1.2).hashCode() == (1.2).hashCode()); 409 Expect.equals(true, (1.2).hashCode() == (1.2).hashCode());
404 Expect.equals(false, (3).hashCode() == (1).hashCode()); 410 Expect.equals(false, (3).hashCode() == (1).hashCode());
405 Expect.equals(true, (10).hashCode() == (10).hashCode()); 411 Expect.equals(true, (10).hashCode() == (10).hashCode());
406 } 412 }
407 413
408 static testMain() { 414 static testMain() {
409 for (int i = 0; i < 1500; i++) { 415 for (int i = 0; i < 1500; i++) {
410 runOne(); 416 runOne();
411 } 417 }
412 } 418 }
413 } 419 }
414 420
415 main() { 421 main() {
416 ArithmeticTest.testMain(); 422 ArithmeticTest.testMain();
417 } 423 }
OLDNEW
« no previous file with comments | « tests/isolate/mandel_isolate_test.dart ('k') | tests/language/closure_type_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698