public void TestGetStartValuesCheatNumber() { BullsAndCowsGame_Accessor game = new BullsAndCowsGame_Accessor(); game.GenerateRandomDigits(); game.GetCheat(); game.GetStartValues(); char[] expected = { 'X', 'X', 'X', 'X' }; char[] actual = game.CheatNumber; CollectionAssert.AreEqual(expected, actual, "GetStartValues didn't intialize the help cheat array properly!"); }
public void TestGetCheatCountAfter3CallingsOfHelp() { BullsAndCowsGame_Accessor game = SetSecretNumberDigits(1, 2, 3, 4); game.Cheats = 3; int expectedCheatsCount = 4; string actualCheatNumber = game.GetCheat(); int actualCheatsCount = game.Cheats; Assert.AreEqual <int>(actualCheatsCount, expectedCheatsCount, INCORRECT_CHEATS_COUNT_MSG); }
public void TestGetStartValuesCount() { BullsAndCowsGame_Accessor game = new BullsAndCowsGame_Accessor(); game.GenerateRandomDigits(); game.GetCheat(); game.GetStartValues(); int expected = 0; int actual = game.Cheats; Assert.AreEqual <int>(expected, actual, "GetStartValues didn't make used cheats number 0."); }
public void TestGetCheat10CallingsOfHelp() { BullsAndCowsGame_Accessor game = SetSecretNumberDigits(1, 2, 3, 4); string expected = "1234"; string actual = String.Empty; for (int i = 0; i < 10; i++) { actual = game.GetCheat(); } Assert.AreEqual <string>(expected, actual, INCORRECT_CHEAT_NUMBER_MSG); }
public void TestGetCheat10CallingsOfHelpCheatsCountShouldBe4() { BullsAndCowsGame_Accessor game = SetSecretNumberDigits(1, 2, 3, 4); int expectedCheatsCount = 4; string actualCheatNumber = String.Empty; for (int i = 0; i < 10; i++) { actualCheatNumber = game.GetCheat(); } int actualCheatsCount = game.Cheats; Assert.AreEqual <int>(actualCheatsCount, expectedCheatsCount, INCORRECT_CHEATS_COUNT_MSG); }
public void TestGetCheatIsOnlyOneDigitRevealedAtTime() { BullsAndCowsGame_Accessor game = SetSecretNumberDigits(1, 2, 3, 4); string actualCheatNumber = String.Empty; for (int i = 3; i >= 0; i--) { int expectedUnrevealedCount = i; actualCheatNumber = game.GetCheat(); int currentUnrevealedCount = CountUnrevealedDigits(game.CheatNumber); Assert.AreEqual <int>(currentUnrevealedCount, expectedUnrevealedCount, INCORRECT_CHEATS_COUNT_MSG); } }
public void TestExecuteCommandGuessedMessageWithCheats() { BullsAndCowsGame_Accessor game = SetSecretNumberDigits(1, 2, 3, 4); StringBuilder sb = new StringBuilder(); StringWriter writer = new StringWriter(sb); Console.SetOut(writer); Scoreboard scoreboard = new Scoreboard(); game.GetCheat(); game.ExecuteCommand(scoreboard, "1234"); writer.Close(); string expected = "Congratulations! You guessed the secret number in 1 attempt and 1 cheat." + Environment.NewLine + "You are not allowed to enter the top scoreboard." + Environment.NewLine + "Top scoreboard is empty." + Environment.NewLine; string actual = sb.ToString(); Assert.AreEqual <string>(expected, actual, EXECUTING_COMMAND_ERROR_MSG); }