public void Next_Call3TimesOnSeriesOf2Numbers_WrapsAroundAndReturnsFirstNumberAgain() { IRandom random = new KnownSeriesRandom( 1, 2 ); Assert.AreEqual( 1, random.Next( 2 ) ); Assert.AreEqual( 2, random.Next( 2 ) ); Assert.AreEqual( 1, random.Next( 2 ) ); }
public void Restore_AfterGeneratingThreeNumbers_RegeneratesSameThreeNumbers() { IRandom random = new KnownSeriesRandom( 1, 2, 3, 4, 5, 6 ); for ( int i = 0; i < 25; i++ ) { random.Next( 6 ); } RandomState state = random.Save(); int first = random.Next( 6 ); int second = random.Next( 6 ); int third = random.Next( 6 ); random.Restore( state ); Assert.AreEqual( first, random.Next( 6 ) ); Assert.AreEqual( second, random.Next( 6 ) ); Assert.AreEqual( third, random.Next( 6 ) ); }
public void Next_SeriesWith10AndMinValueOf11_ThrowsArgumentOutOfRangeException() { IRandom random = new KnownSeriesRandom( 10 ); random.Next( 11, 20 ); }
public void Next_SeriesWith10AndMaxValueOnly5_ThrowsArgumentOutOfRangeException() { IRandom random = new KnownSeriesRandom( 10 ); random.Next( 5 ); }