public void SelectSecretSolutionShould_ReturnArrayOf4Pegs() { var secretSolutionGenerator = new SecretSolutionGenerator(); var mastermind = new Mastermind(secretSolutionGenerator); mastermind.SetSecretSolution(_colours); Assert.Equal(4, mastermind.SecretSolution.Length); }
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); } }
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); }
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); }