public void NextValueReturnsRandomValueTest()
{
var type = typeof(int);
var expected = Environment.TickCount;
var target = Substitute.For<IRandomGenerator>();
target.GetMax(type).Returns(int.MaxValue);
target.GetMin(type).Returns(int.MinValue);
target.NextValue(type, Arg.Is<object>(int.MinValue), Arg.Is<object>(int.MaxValue)).Returns(expected);
var actual = target.NextValue<int>();
actual.Should().Be(expected);
}