diff options
| author | Pieter Wuille <[email protected]> | 2017-02-15 17:45:22 -0800 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2017-03-29 11:26:08 -0700 |
| commit | 16329224e70d0525208f6b0ba00c5e1531a4f5ea (patch) | |
| tree | 8decd575cf1023486f2383e125c90085ebabd17a /src/test/random_tests.cpp | |
| parent | Add ChaCha20 (diff) | |
| download | discoin-16329224e70d0525208f6b0ba00c5e1531a4f5ea.tar.xz discoin-16329224e70d0525208f6b0ba00c5e1531a4f5ea.zip | |
Switch FastRandomContext to ChaCha20
Diffstat (limited to 'src/test/random_tests.cpp')
| -rw-r--r-- | src/test/random_tests.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/test/random_tests.cpp b/src/test/random_tests.cpp index d2c46c0da..31b993cd3 100644 --- a/src/test/random_tests.cpp +++ b/src/test/random_tests.cpp @@ -15,5 +15,24 @@ BOOST_AUTO_TEST_CASE(osrandom_tests) BOOST_CHECK(Random_SanityCheck()); } -BOOST_AUTO_TEST_SUITE_END() +BOOST_AUTO_TEST_CASE(fastrandom_tests) +{ + // Check that deterministic FastRandomContexts are deterministic + FastRandomContext ctx1(true); + FastRandomContext ctx2(true); + + BOOST_CHECK_EQUAL(ctx1.rand32(), ctx2.rand32()); + BOOST_CHECK_EQUAL(ctx1.rand32(), ctx2.rand32()); + BOOST_CHECK_EQUAL(ctx1.rand64(), ctx2.rand64()); + BOOST_CHECK_EQUAL(ctx1.randbits(3), ctx2.randbits(3)); + BOOST_CHECK_EQUAL(ctx1.randbits(7), ctx2.randbits(7)); + BOOST_CHECK_EQUAL(ctx1.rand32(), ctx2.rand32()); + BOOST_CHECK_EQUAL(ctx1.randbits(3), ctx2.randbits(3)); + // Check that a nondeterministic ones are not + FastRandomContext ctx3; + FastRandomContext ctx4; + BOOST_CHECK(ctx3.rand64() != ctx4.rand64()); // extremely unlikely to be equal +} + +BOOST_AUTO_TEST_SUITE_END() |