Exemple #1
0
        public void SelectSecretSolutionShould_ReturnArrayOf4Pegs()
        {
            var secretSolutionGenerator = new SecretSolutionGenerator();
            var mastermind = new Mastermind(secretSolutionGenerator);

            mastermind.SetSecretSolution(_colours);

            Assert.Equal(4, mastermind.SecretSolution.Length);
        }
Exemple #2
0
        public void SelectSecretSolutionShould_ReturnArrayOf4Pegs_WithCorrectColour()
        {
            var secretSolutionGenerator = new SecretSolutionGenerator();
            var mastermind = new Mastermind(secretSolutionGenerator);

            mastermind.SetSecretSolution(_colours);

            foreach (var peg in mastermind.SecretSolution)
            {
                Assert.Contains(peg.Colour, _colours);
            }
        }
Exemple #3
0
        public void CreateHintBasedOnPlayerSolutionShould_CreateHintWith4KeyPegs_BasedOnPlayerSolution()
        {
            var secretSolutionGenerator = new SecretSolutionGenerator();
            var mastermind = new Mastermind(secretSolutionGenerator);
            var peg1       = new Peg(Colour.Red);
            var peg2       = new Peg(Colour.Blue);
            var peg3       = new Peg(Colour.Green);
            var peg4       = new Peg(Colour.Orange);
            var solution   = new[] { peg1, peg2, peg3, peg4 };
            var hint       = mastermind.CreateHintBasedOnPlayerSolution(solution);

            Assert.Equal(4, hint.Length);
        }
Exemple #4
0
        public void GetSelectedColourShould_GetCorrectColours_WhenUserInputNumbers()
        {
            var testInput               = new TestResponder(new[] { "1111" });
            var output                  = new ConsoleOutput();
            var solutionGenerator       = new NormalSolutionGenerator();
            var player                  = new Player("Lan", solutionGenerator);
            var secretSolutionGenerator = new SecretSolutionGenerator();
            var mastermind              = new Mastermind(secretSolutionGenerator);
            var rule = new Rule();
            var game = new Game(player, mastermind, testInput, output, rule);

            var expectedResult = new Colour[] { Colour.Red, Colour.Red, Colour.Red, Colour.Red };
            var actualResult   = game.UserSelectColours();

            Assert.Equal(expectedResult, actualResult);
        }