public void CreateCombinationTest_ValidInputs_ExpectedNoItems(string itemArray)
        {
            //Setup
            var items = itemArray.Split(";");

            //Act
            var actual = CombinationBuilder.CreateCombination(items, 4);

            //Assert
            Assert.IsNotNull(actual);
            Assert.AreEqual(0, actual.Columns.Count());
            Assert.AreEqual(0, actual.Stars.Count());
        }
        public void Should__Generate6DigitCombination__When__CombinationLengthIs6()
        {
            // arrange
            const int combinationLength = 6;

            // act
            Combination combination =
                new CombinationBuilder()
                .WithLength(combinationLength)
                .UsingDigitsBetween(1, 9);

            // assert
            combination.Length.Should().Be(combinationLength);
        }
        public void CreateCombinationTest_ValidInputs_ExpectedItems(string itemArray)
        {
            //Setup
            var items   = itemArray.Split(";");
            var columns = items.Where((item, index) => index >= 4 && index <= 8).Select(item => Convert.ToInt32(item)).ToList();
            var stars   = items.Where((item, index) => index >= 9 && index <= 10).Select(item => Convert.ToInt32(item)).ToList();

            //Act
            var actual = CombinationBuilder.CreateCombination(items, 4);

            //Assert
            Assert.IsNotNull(actual);
            CollectionAssert.AreEqual(columns, actual.Columns.ToList());
            CollectionAssert.AreEqual(stars, actual.Stars.ToList());
        }
Ejemplo n.º 4
0
        public void Should__IndicateSuccess__When__GuessMatchesAnswer()
        {
            // arrange
            Combination combination =
                new CombinationBuilder()
                .WithLength(4)
                .UsingDigitsBetween(1, 6);

            string guess = combination.GetAnswer();

            // act
            GuessResult result = combination.Try(guess);

            // assert
            result.WasRight.Should().BeTrue();
            result.ToString().Should().Be("++++");
        }
        public void Should__GenerateCombinationWithDigitsInRange__When__ValidRangeGiven()
        {
            // arrange
            List <int> range             = Enumerable.Range(1, 3).ToList();
            const int  combinationLength = 10;

            // act
            Combination combination =
                new CombinationBuilder()
                .WithLength(combinationLength)
                .UsingDigitsBetween(range.First(), range.Last());

            string answer = combination.GetAnswer();

            // assert
            answer.ToArray().All(c => range.Contains(c - 48)).Should().BeTrue();
        }