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

Side by Side Diff: tests/lib/math/random_test.dart

Issue 1398453004: Add a 'secure' constructor to Random in dart:math returning a cryptographically (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: address review comments Created 5 years, 2 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
OLDNEW
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 rnd.nextInt with a seed generates the same sequence each time. 5 // Test that rnd.nextInt with a seed generates the same sequence each time.
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 "package:expect/expect.dart";
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 Expect.equals( 9680425, rnd.nextInt(i *= 2)); 49 Expect.equals( 9680425, rnd.nextInt(i *= 2));
50 Expect.equals( 28460171, rnd.nextInt(i *= 2)); 50 Expect.equals( 28460171, rnd.nextInt(i *= 2));
51 Expect.equals( 49481738, rnd.nextInt(i *= 2)); 51 Expect.equals( 49481738, rnd.nextInt(i *= 2));
52 Expect.equals( 9878974, rnd.nextInt(i *= 2)); 52 Expect.equals( 9878974, rnd.nextInt(i *= 2));
53 Expect.equals( 132552472, rnd.nextInt(i *= 2)); 53 Expect.equals( 132552472, rnd.nextInt(i *= 2));
54 Expect.equals( 210267283, rnd.nextInt(i *= 2)); 54 Expect.equals( 210267283, rnd.nextInt(i *= 2));
55 Expect.equals( 125422442, rnd.nextInt(i *= 2)); 55 Expect.equals( 125422442, rnd.nextInt(i *= 2));
56 Expect.equals( 226275094, rnd.nextInt(i *= 2)); 56 Expect.equals( 226275094, rnd.nextInt(i *= 2));
57 Expect.equals(1639629168, rnd.nextInt(i *= 2)); 57 Expect.equals(1639629168, rnd.nextInt(i *= 2));
58 Expect.equals(0x100000000, i); 58 Expect.equals(0x100000000, i);
59 Expect.equals( 1552504971, rnd.nextInt(i));
Lasse Reichstein Nielsen 2015/10/15 09:32:33 Why? We already called with that value of max abov
regis 2015/10/15 17:12:02 Aargh. Left over from debugging. Reverted. I was
59 // If max is too large expect an ArgumentError. 60 // If max is too large expect an ArgumentError.
60 Expect.throws(() => rnd.nextInt(i + 1), (e) => e is ArgumentError); 61 Expect.throws(() => rnd.nextInt(i + 1), (e) => e is ArgumentError);
61 62
62 rnd = new Random(6790); 63 rnd = new Random(6790);
63 Expect.approxEquals(0.1202733131, rnd.nextDouble()); 64 Expect.approxEquals(0.1202733131, rnd.nextDouble());
64 Expect.approxEquals(0.5554054805, rnd.nextDouble()); 65 Expect.approxEquals(0.5554054805, rnd.nextDouble());
65 Expect.approxEquals(0.0385160727, rnd.nextDouble()); 66 Expect.approxEquals(0.0385160727, rnd.nextDouble());
66 Expect.approxEquals(0.2836345217, rnd.nextDouble()); 67 Expect.approxEquals(0.2836345217, rnd.nextDouble());
67 } 68 }
68 69
(...skipping 23 matching lines...) Expand all
92 ]; 93 ];
93 for (var i = 0, m = 1; i < 75; i++) { 94 for (var i = 0, m = 1; i < 75; i++) {
94 Expect.equals(expectations[i], new Random(rawSeed * m).nextInt(65536)); 95 Expect.equals(expectations[i], new Random(rawSeed * m).nextInt(65536));
95 Expect.equals(negative_seed_expectations[i], 96 Expect.equals(negative_seed_expectations[i],
96 new Random(rawSeed * -m).nextInt(65536)); 97 new Random(rawSeed * -m).nextInt(65536));
97 m *= 2; 98 m *= 2;
98 } 99 }
99 // And test zero seed too. 100 // And test zero seed too.
100 Expect.equals(21391, new Random(0).nextInt(65536)); 101 Expect.equals(21391, new Random(0).nextInt(65536));
101 } 102 }
OLDNEW
« tests/lib/math/random_secure_test.dart ('K') | « tests/lib/math/random_secure_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698