public void TestGetRandomColor(int randomNumberReturned, ConsoleColor expectedColor) { var randomNumberMock = new Mock <IGenerateRandomNumbers>(MockBehavior.Strict); randomNumberMock.Setup(mock => mock.GetRandomInt(0, 7)).Returns(randomNumberReturned); var objectUnderTest = new GenerateRandomColor(randomNumberMock.Object); objectUnderTest.GetRandomColor().Should().Be(expectedColor); }
public void TestGetRandomColorWithBadRandomNumbersGenerated(int badRandomNumber) { var randomNumberMock = new Mock <IGenerateRandomNumbers>(MockBehavior.Strict); randomNumberMock.Setup(mock => mock.GetRandomInt(0, 7)).Returns(badRandomNumber); var objectUnderTest = new GenerateRandomColor(randomNumberMock.Object); Action actionThatShouldThrowException = () => objectUnderTest.GetRandomColor(); actionThatShouldThrowException.ShouldThrow <IndexOutOfRangeException>(); }