public void BasicTest() { var r = new StandardRandom(); Assert.IsTrue(r.Test(0)); Assert.DoesNotThrow(() => r.Test(0b1)); Assert.DoesNotThrow(() => r.Test(0b11)); Assert.DoesNotThrow(() => r.Test(0b111)); Assert.DoesNotThrow(() => r.Test(0b1111)); Assert.DoesNotThrow(() => r.Test(0b1_1111)); Assert.DoesNotThrow(() => r.Test(0b11_1111)); Assert.DoesNotThrow(() => r.Test(0b111_1111)); Assert.DoesNotThrow(() => r.Test(0b1111_1111)); for (int i = 0; i <= 1000; i++) { var t = r.Next(i); Assert.GreaterOrEqual(t, 0); if (i == 0) { Assert.AreEqual(0, i); } else { Assert.Less(t, i); } } }
public void TestTestResults() { var seed = new Random().Next(); var r1 = new StandardRandom(seed); var referenceSequence = new List <int>(); for (int i = 0; i <= 1000; i++) { referenceSequence.Add(r1.Next(256)); } var r2 = new StandardRandom(seed); for (int i = 0; i <= 1000; i++) { bool t = referenceSequence[i] == 0; bool testResult = r2.Test(0xFF); Assert.IsTrue(testResult == t); } }
public void IsSequenceRepeatable() { var seed = new Random().Next(); var r1 = new StandardRandom(seed); var referenceSequence = new List <int>(); for (int i = 0; i <= 1000; i++) { referenceSequence.Add(r1.Next(100000)); } var r2 = new StandardRandom(seed); var compareSequence = new List <int>(); for (int i = 0; i <= 1000; i++) { compareSequence.Add(r2.Next(100000)); } Assert.IsTrue(referenceSequence.SequenceEqual(compareSequence)); }