/* * rngtest.cpp * * Created on: Apr 20, 2015 * Author: gregor */ #include #include "GLTB/rng.h" TEST(Random, copyRNG) { gltb::Random rng1; rng1.init(1); // generate a couple of random numbers to get past the initial state for(int i = 0; i < 10; i++) { rng1.genrandInt31(); } // create a copy of the RNG gltb::Random rng2 = rng1; // the Mersenne Twister has an internal pool of 623 random numbers, so request more than that for(int i = 0; i < 700; i++) { int randomNumber1 = rng1.genrandInt31(); int randomNumber2 = rng2.genrandInt31(); ASSERT_TRUE(randomNumber1 == randomNumber2); } } int main(int argc, char *argv[]) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }