| Index: tests/lib_strong/math/random_test.dart
|
| diff --git a/tests/lib_strong/math/random_test.dart b/tests/lib_strong/math/random_test.dart
|
| deleted file mode 100644
|
| index 7ee98b0022a6f0148ca0dc3c8399e8a572e140ed..0000000000000000000000000000000000000000
|
| --- a/tests/lib_strong/math/random_test.dart
|
| +++ /dev/null
|
| @@ -1,235 +0,0 @@
|
| -// Copyright (c) 2013, 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 that rnd.nextInt with a seed generates the same sequence each time.
|
| -
|
| -// Library tag to allow Dartium to run the test.
|
| -library random_test;
|
| -
|
| -import "package:expect/expect.dart";
|
| -import 'dart:math';
|
| -
|
| -main() {
|
| - checkSequence();
|
| - checkSeed();
|
| -}
|
| -
|
| -void checkSequence() {
|
| - // Check the sequence of numbers generated by the random generator for a seed
|
| - // doesn't change unintendedly, and it agrees between implementations.
|
| - var rnd = new Random(20130307);
|
| - // Make sure we do not break the random number generation.
|
| - // If the random algorithm changes, make sure both the VM and dart2js
|
| - // generate the same new sequence.
|
| - var i = 1;
|
| - Expect.equals(0, rnd.nextInt(i *= 2));
|
| - Expect.equals(3, rnd.nextInt(i *= 2));
|
| - Expect.equals(7, rnd.nextInt(i *= 2));
|
| - Expect.equals(5, rnd.nextInt(i *= 2));
|
| - Expect.equals(29, rnd.nextInt(i *= 2));
|
| - Expect.equals(17, rnd.nextInt(i *= 2));
|
| - Expect.equals(104, rnd.nextInt(i *= 2));
|
| - Expect.equals(199, rnd.nextInt(i *= 2));
|
| - Expect.equals(408, rnd.nextInt(i *= 2));
|
| - Expect.equals(362, rnd.nextInt(i *= 2));
|
| - Expect.equals(995, rnd.nextInt(i *= 2));
|
| - Expect.equals(2561, rnd.nextInt(i *= 2));
|
| - Expect.equals(2548, rnd.nextInt(i *= 2));
|
| - Expect.equals(9553, rnd.nextInt(i *= 2));
|
| - Expect.equals(2628, rnd.nextInt(i *= 2));
|
| - Expect.equals(42376, rnd.nextInt(i *= 2));
|
| - Expect.equals(101848, rnd.nextInt(i *= 2));
|
| - Expect.equals(85153, rnd.nextInt(i *= 2));
|
| - Expect.equals(495595, rnd.nextInt(i *= 2));
|
| - Expect.equals(647122, rnd.nextInt(i *= 2));
|
| - Expect.equals(793546, rnd.nextInt(i *= 2));
|
| - Expect.equals(1073343, rnd.nextInt(i *= 2));
|
| - Expect.equals(4479969, rnd.nextInt(i *= 2));
|
| - Expect.equals(9680425, rnd.nextInt(i *= 2));
|
| - Expect.equals(28460171, rnd.nextInt(i *= 2));
|
| - Expect.equals(49481738, rnd.nextInt(i *= 2));
|
| - Expect.equals(9878974, rnd.nextInt(i *= 2));
|
| - Expect.equals(132552472, rnd.nextInt(i *= 2));
|
| - Expect.equals(210267283, rnd.nextInt(i *= 2));
|
| - Expect.equals(125422442, rnd.nextInt(i *= 2));
|
| - Expect.equals(226275094, rnd.nextInt(i *= 2));
|
| - Expect.equals(1639629168, rnd.nextInt(i *= 2));
|
| - Expect.equals(0x100000000, i);
|
| - // If max is too large expect an ArgumentError.
|
| - Expect.throws(() => rnd.nextInt(i + 1), (e) => e is ArgumentError);
|
| -
|
| - rnd = new Random(6790);
|
| - Expect.approxEquals(0.1202733131, rnd.nextDouble());
|
| - Expect.approxEquals(0.5554054805, rnd.nextDouble());
|
| - Expect.approxEquals(0.0385160727, rnd.nextDouble());
|
| - Expect.approxEquals(0.2836345217, rnd.nextDouble());
|
| -}
|
| -
|
| -void checkSeed() {
|
| - // Check that various seeds generate the expected first values.
|
| - // 53 significant bits, so the number is representable in JS.
|
| - var rawSeed = 0x19a32c640e1d71;
|
| - var expectations = [
|
| - 26007,
|
| - 43006,
|
| - 46458,
|
| - 18610,
|
| - 16413,
|
| - 50455,
|
| - 2164,
|
| - 47399,
|
| - 8859,
|
| - 9732,
|
| - 20367,
|
| - 33935,
|
| - 54549,
|
| - 54913,
|
| - 4819,
|
| - 24198,
|
| - 49353,
|
| - 22277,
|
| - 51852,
|
| - 35959,
|
| - 45347,
|
| - 12100,
|
| - 10136,
|
| - 22372,
|
| - 15293,
|
| - 20066,
|
| - 1351,
|
| - 49030,
|
| - 64845,
|
| - 12793,
|
| - 50916,
|
| - 55784,
|
| - 43170,
|
| - 27653,
|
| - 34696,
|
| - 1492,
|
| - 50255,
|
| - 9597,
|
| - 45929,
|
| - 2874,
|
| - 27629,
|
| - 53084,
|
| - 36064,
|
| - 42140,
|
| - 32016,
|
| - 41751,
|
| - 13967,
|
| - 20516,
|
| - 578,
|
| - 16773,
|
| - 53064,
|
| - 14814,
|
| - 22737,
|
| - 48846,
|
| - 45147,
|
| - 10205,
|
| - 56584,
|
| - 63711,
|
| - 44128,
|
| - 21099,
|
| - 47966,
|
| - 35471,
|
| - 39576,
|
| - 1141,
|
| - 45716,
|
| - 54940,
|
| - 57406,
|
| - 15437,
|
| - 31721,
|
| - 35044,
|
| - 28136,
|
| - 39797,
|
| - 50801,
|
| - 22184,
|
| - 58686
|
| - ];
|
| - var negative_seed_expectations = [
|
| - 12170,
|
| - 42844,
|
| - 39228,
|
| - 64032,
|
| - 29046,
|
| - 57572,
|
| - 8453,
|
| - 52224,
|
| - 27060,
|
| - 28454,
|
| - 20510,
|
| - 28804,
|
| - 59221,
|
| - 53422,
|
| - 11047,
|
| - 50864,
|
| - 33997,
|
| - 19611,
|
| - 1250,
|
| - 65088,
|
| - 19690,
|
| - 11396,
|
| - 20,
|
| - 48867,
|
| - 44862,
|
| - 47129,
|
| - 58724,
|
| - 13325,
|
| - 50005,
|
| - 33320,
|
| - 16523,
|
| - 4740,
|
| - 63721,
|
| - 63272,
|
| - 30545,
|
| - 51403,
|
| - 35845,
|
| - 3943,
|
| - 31850,
|
| - 23148,
|
| - 26307,
|
| - 1724,
|
| - 29281,
|
| - 39988,
|
| - 43653,
|
| - 48012,
|
| - 43810,
|
| - 16755,
|
| - 13105,
|
| - 25325,
|
| - 32648,
|
| - 19958,
|
| - 38838,
|
| - 8322,
|
| - 3421,
|
| - 28624,
|
| - 17269,
|
| - 45385,
|
| - 50680,
|
| - 1696,
|
| - 26088,
|
| - 2787,
|
| - 48566,
|
| - 34357,
|
| - 27731,
|
| - 51764,
|
| - 8455,
|
| - 16498,
|
| - 59721,
|
| - 59568,
|
| - 46333,
|
| - 7935,
|
| - 51459,
|
| - 36766,
|
| - 50711
|
| - ];
|
| - for (var i = 0, m = 1; i < 75; i++) {
|
| - Expect.equals(expectations[i], new Random(rawSeed * m).nextInt(65536));
|
| - Expect.equals(
|
| - negative_seed_expectations[i], new Random(rawSeed * -m).nextInt(65536));
|
| - m *= 2;
|
| - }
|
| - // And test zero seed too.
|
| - Expect.equals(21391, new Random(0).nextInt(65536));
|
| -}
|
|
|