public void NextLongTest() { var byteGenerator = new Random(); var random = new MockRandom(); var buffer = new byte[8]; for (var i = 0; i < 100; i++) { byteGenerator.NextBytes(buffer); random.MockNextBytes = buffer; Assert.AreEqual(BitConverter.ToInt64(buffer, 0), random.NextLong()); } }
public void NextLongMaximumTest() { var random = new MockRandom(); Assert.ThrowsException <ArgumentOutOfRangeException>(() => random.NextLong(-1)); var byteGenerator = new Random(); var buffer = new byte[8]; for (var i = 0; i < 100; i++) { byteGenerator.NextBytes(buffer); random.MockNextBytes = buffer; var value = BitConverter.ToInt64(buffer, 0); var maximum = byteGenerator.NextInt64(); Assert.AreEqual( value % maximum, random.NextLong(maximum), $"value={value}, maximum={maximum}, %={value % maximum}, {random.NextLong( maximum )}" ); } }
public void NextLongMinimumMaximumTest() { var random = new MockRandom(); Assert.ThrowsException <ArgumentOutOfRangeException>(() => random.NextLong(1, 0)); }