public void TestNext() { var rng = new UniformRNG(0); int first = rng.NextInt32(), second = rng.NextInt32(); for (int i = 0; i < 1000000; ++i) { first = second; second = rng.NextInt32(); Assert.NotEqual(first, second); } }
public void TestRNGPerformance() { var rng = new UniformRNG(0); var random = new Random(); Stopwatch sw = new Stopwatch(); sw.Start(); int res = 0; for (int i = 0; i < 10000000; ++i) { res += rng.NextInt32(); } sw.Stop(); var t1 = sw.ElapsedMilliseconds; sw.Start(); res = 0; for (int i = 0; i < 10000000; ++i) { res += random.Next(); } sw.Stop(); var t2 = sw.ElapsedMilliseconds; Assert.True(t1 < t2); }