public void DisplayGameState_WritesUncoveredMinesGrid() { var builder = new StringBuilder(); TextWriter testTextWriter = new StringWriter(builder); var displayManager = new ConsoleDisplayManager(testTextWriter); const int maxRows = 5; const int maxCols = 5; IList <IList <Cell> > gridList = TestUtils.MakeEmptyGrid(maxRows, maxCols); gridList[2][0].IsUncovered = true; gridList[2][1].IsUncovered = true; gridList[2][0].IsMine = true; gridList[2][1].IsMine = true; var player = new PlayerState { Row = 0, Column = 0, Deaths = 0, Moves = 0 }; var state = new GameState(player, gridList, 3, maxRows, maxCols); displayManager.DisplayGameState(state); var gameDisplay = builder.ToString(); Assert.IsTrue(gameDisplay.Contains("001 P####")); Assert.IsTrue(gameDisplay.Contains("002 #####")); Assert.IsTrue(gameDisplay.Contains("003 **###")); Assert.IsTrue(gameDisplay.Contains("004 #####")); Assert.IsTrue(gameDisplay.Contains("005 #####")); }
public void DisplayGameState_WritesInitialGameGrid() { var builder = new StringBuilder(); TextWriter testTextWriter = new StringWriter(builder); var displayManager = new ConsoleDisplayManager(testTextWriter); const int maxRows = 5; const int maxCols = 5; IList <IList <Cell> > gridList = TestUtils.MakeEmptyGrid(maxRows, maxCols); var player = new PlayerState { Row = 2, Column = 0, Deaths = 1, Moves = 2 }; var state = new GameState(player, gridList, 3, maxRows, maxCols); displayManager.DisplayGameState(state); var gameDisplay = builder.ToString(); Assert.IsTrue(gameDisplay.Contains("001 #####")); Assert.IsTrue(gameDisplay.Contains("002 #####")); Assert.IsTrue(gameDisplay.Contains("003 P####")); Assert.IsTrue(gameDisplay.Contains("004 #####")); Assert.IsTrue(gameDisplay.Contains("005 #####")); }
public void PromptWaitAnyInput_WritesScore() { var builder = new StringBuilder(); TextWriter testTextWriter = new StringWriter(builder); var displayManager = new ConsoleDisplayManager(testTextWriter); displayManager.PromptWaitAnyInput(); var waitForAnyMessage = builder.ToString(); Assert.IsTrue(waitForAnyMessage.Contains("Press <Enter> to Continue.")); }
public void PromptPlayAgain_WritesScore() { var builder = new StringBuilder(); TextWriter testTextWriter = new StringWriter(builder); var displayManager = new ConsoleDisplayManager(testTextWriter); displayManager.PromptPlayAgain(); var playAgainMessage = builder.ToString(); Assert.IsTrue(playAgainMessage.Contains("Would you like to play again (yes/no)?")); }
public void DisplayGameOver_WritesScore() { var builder = new StringBuilder(); TextWriter testTextWriter = new StringWriter(builder); var displayManager = new ConsoleDisplayManager(testTextWriter); var state = MockRepository.GenerateMock <IGameState>(); state.Stub(x => x.CalcScore()).Return(6); displayManager.DisplayGameOver(state); var gameOverMessage = builder.ToString(); Assert.IsTrue(gameOverMessage.Contains("Medical Science has limits Soldier!")); Assert.IsTrue(gameOverMessage.Contains("You scored 6 points.")); }
public void DisplayWin_WritesScore() { var builder = new StringBuilder(); TextWriter testTextWriter = new StringWriter(builder); var displayManager = new ConsoleDisplayManager(testTextWriter); var state = MockRepository.GenerateMock <IGameState>(); state.Stub(x => x.CalcScore()).Return(21); displayManager.DisplayWin(state); var winMessage = builder.ToString(); Assert.IsTrue(winMessage.Contains("Congratulations, you crossed the battlefield!")); Assert.IsTrue(winMessage.Contains("You scored 21 points.")); }
public void DisplayInstructions_WritesInstructions() { var builder = new StringBuilder(); TextWriter testTextWriter = new StringWriter(builder); var displayManager = new ConsoleDisplayManager(testTextWriter); displayManager.DisplayInstructions(); var instructionString = builder.ToString(); Assert.IsNotEmpty(instructionString); Assert.IsTrue(instructionString.Contains("How To Play")); Assert.IsTrue(instructionString.Contains("P = Player")); Assert.IsTrue(instructionString.Contains("X = A Very Unfortunate Player")); Assert.IsTrue(instructionString.Contains("* = Mine")); Assert.IsTrue(instructionString.Contains("# = Fog")); }
public void DisplayGameState_WritesPlayerStatus() { var builder = new StringBuilder(); TextWriter testTextWriter = new StringWriter(builder); var displayManager = new ConsoleDisplayManager(testTextWriter); const int maxRows = 6; const int maxCols = 5; IList <IList <Cell> > gridList = TestUtils.MakeEmptyGrid(maxRows, maxCols); var player = new PlayerState { Row = 1, Column = 2, Deaths = 1, Moves = 7 }; var state = new GameState(player, gridList, 3, maxRows, maxCols); displayManager.DisplayGameState(state); var gameDisplay = builder.ToString(); Assert.IsTrue(gameDisplay.Contains(string.Format("Position: {0}, Lives: {1}, Score {2}", "C2", 2, 6))); }