public void NextULongMaximumTest() { var random = new MockRandom(); 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.ToUInt64(buffer, 0); var maximum = unchecked ((ulong)byteGenerator.NextInt64()); Assert.AreEqual( value % maximum, random.NextULong(maximum), $"value={value}, maximum={maximum}, %={value % maximum}, {random.NextULong( maximum )}" ); } }
public void NextULongTest() { 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.ToUInt64(buffer, 0), random.NextULong()); } }
public void NextULongMinimumMaximumTest() { var random = new MockRandom(); Assert.ThrowsException <ArgumentOutOfRangeException>(() => random.NextULong(1, 0)); }