public void ReturnCorrectMark(string expectedMark, List <Colour> code, List <Colour> guess) { var codeBreaker = new CodeChecker(); var actual = codeBreaker.CheckGuess(code, guess); Assert.AreEqual(expectedMark, actual); }
public void It_Should_Return_WhiteForEveryCorrectColourAtIncorrectPosition_When_Given_ValidGuesses(List <Peg> guess, List <Feedback> expectedFeedback) { //arrange var codeGenerator = new CodeGenerator(new List <Peg> { Peg.Red, Peg.Blue, Peg.Green, Peg.Yellow }); var nonRandomizer = new NonRandomizer(); var code = new CodeChecker(codeGenerator, nonRandomizer); code.GenerateSecretCode(); //act var feedback = code.CheckGuess(guess); //assert Assert.Equal(expectedFeedback, feedback); }
private static void PlayGame() { var code = new CodeGenerator(); var codeChecker = new CodeChecker(); var colourMapper = new ColourMapper(); var randomCode = code.Create(); var guess = ""; const string response = "The mark was: "; Console.WriteLine("Welcome to Code Breaker!"); while (guess != "stop") { Console.WriteLine("Please insert your guess (e.g \"r,g,y,c\"): "); guess = Console.ReadLine(); if (guess == "stop") { return; } try { var convertedGuess = colourMapper.Map(guess); var mark = codeChecker.CheckGuess(randomCode, convertedGuess); if (mark == "bbbb") { Console.WriteLine("You have won the game!"); Console.ReadKey(); return; } Console.WriteLine(response + mark + Environment.NewLine); } catch (Exception e) { Console.WriteLine(e.Message + Environment.NewLine); } } Console.ReadKey(); }
public List <Feedback> CheckGuess(List <Peg> guess) { return(_codeChecker.CheckGuess(guess)); }