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>();
        }