public void GetNextColor_ReturnsFirstColor_OnFirstCall()
        {
            PatternBasedColorAlternator <string> alternator = GetDummyAlternator();
            Color firstColor = alternator.GetNextColor(dummyTarget);

            Assert.Equal(firstColor, dummyColors.First());
        }
        public void GetNextColor_ReturnsThirdColor_OnThirdCall()
        {
            PatternBasedColorAlternator <string> alternator = GetDummyAlternator();
            Color firstColor  = alternator.GetNextColor(dummyTarget);
            Color secondColor = alternator.GetNextColor(dummyTarget);
            Color thirdColor  = alternator.GetNextColor(dummyTarget);

            Assert.Equal(thirdColor, dummyColors.Last());
        }
        public void GetNextColor_ThrowsException_WhenCalledWithNoColorsAssigned()
        {
            PatternBasedColorAlternator <string> alternator = new PatternBasedColorAlternator <string>(new TextPatternCollection(new[] { dummyPattern }));

            Assert.Throws <InvalidOperationException>(() => alternator.GetNextColor(dummyTarget));
        }
        public void GetNextColor_ThrowsException_WhenCalledWithNoColorsAssigned()
        {
            PatternBasedColorAlternator<string> alternator = new PatternBasedColorAlternator<string>(new TextPatternCollection(new[] { dummyPattern }));

            Assert.Throws<InvalidOperationException>(() => alternator.GetNextColor(dummyTarget));
        }