| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Test that a coin toss with Random.nextBool() is fair. | 5 // Test that a coin toss with Random.nextBool() is fair. | 
| 6 | 6 | 
| 7 // Library tag to allow Dartium to run the test. | 7 // Library tag to allow Dartium to run the test. | 
| 8 library random_test; | 8 library random_test; | 
| 9 | 9 | 
|  | 10 import "package:expect/expect.dart"; | 
| 10 import 'dart:math'; | 11 import 'dart:math'; | 
| 11 | 12 | 
| 12 main() { | 13 main() { | 
| 13   var rnd = new Random(20130307); | 14   var rnd = new Random(20130307); | 
| 14   // Make sure we do not break the random number generation. | 15   // Make sure we do not break the random number generation. | 
| 15   var i = 0; | 16   var i = 0; | 
| 16   Expect.equals(         0, rnd.nextInt(1 << ++i)); | 17   Expect.equals(         0, rnd.nextInt(1 << ++i)); | 
| 17   Expect.equals(         2, rnd.nextInt(1 << ++i)); | 18   Expect.equals(         2, rnd.nextInt(1 << ++i)); | 
| 18   Expect.equals(         7, rnd.nextInt(1 << ++i)); | 19   Expect.equals(         7, rnd.nextInt(1 << ++i)); | 
| 19   Expect.equals(         8, rnd.nextInt(1 << ++i)); | 20   Expect.equals(         8, rnd.nextInt(1 << ++i)); | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 42   Expect.equals(  80223657, rnd.nextInt(1 << ++i)); | 43   Expect.equals(  80223657, rnd.nextInt(1 << ++i)); | 
| 43   Expect.equals( 142194155, rnd.nextInt(1 << ++i)); | 44   Expect.equals( 142194155, rnd.nextInt(1 << ++i)); | 
| 44   Expect.equals(  31792146, rnd.nextInt(1 << ++i)); | 45   Expect.equals(  31792146, rnd.nextInt(1 << ++i)); | 
| 45   Expect.equals(1042196170, rnd.nextInt(1 << ++i)); | 46   Expect.equals(1042196170, rnd.nextInt(1 << ++i)); | 
| 46   Expect.equals(1589656273, rnd.nextInt(1 << ++i)); | 47   Expect.equals(1589656273, rnd.nextInt(1 << ++i)); | 
| 47   Expect.equals(1547294578, rnd.nextInt(1 << ++i)); | 48   Expect.equals(1547294578, rnd.nextInt(1 << ++i)); | 
| 48   Expect.equals(32, i); | 49   Expect.equals(32, i); | 
| 49   // If max is too large expect an ArgumentError. | 50   // If max is too large expect an ArgumentError. | 
| 50   Expect.throws(() => rnd.nextInt((1 << i)+1), (e) => e is ArgumentError); | 51   Expect.throws(() => rnd.nextInt((1 << i)+1), (e) => e is ArgumentError); | 
| 51 } | 52 } | 
| OLD | NEW | 
|---|