public void ShouldInvokeAct() { //Arrange FakeGameMode fakeGameMode = new FakeGameMode.Builder().Build(); FakeGameModeSelectionAction nextAction = new FakeGameModeSelectionAction.Builder().Act(fakeGameMode).Build(); HumanVsHumanGameModeSelectionAction subject = new HumanVsHumanGameModeSelectionAction(nextAction); //Act subject.Act("not 2"); //Assert nextAction.AssertActInvoked(); }
public void ShouldGetGameModeFromInput() { //Arrange FakeGameMode fakeGameMode = new FakeGameMode.Builder().Build(); FakeValidResponse <IGameMode> fakeValidResponse = new FakeValidResponse <IGameMode> .Builder().Response(fakeGameMode).Build(); GameModeSelection subject = new GameModeSelection(fakeValidResponse); //Act IGameMode gameMode = subject.Select(); //Assert gameMode.Should().Be(fakeGameMode); }
public void ShouldRunTheLoopMultipleTimes() { //Arrange FakeBoard fakeBoard = new FakeBoard.Builder().Build(); FakePlayersTurns fakePlayersTurns = new FakePlayersTurns.Builder().GameOver(Bool.False, Bool.False, Bool.False, Bool.True).Build(); FakeGameMode fakeGameMode = new FakeGameMode.Builder().ConfigurePlayers(fakePlayersTurns).Build(); FakeGameModeSelection fakeGameModeSelection = new FakeGameModeSelection.Builder().Select(fakeGameMode).Build(); FakeGameStarting fakeGameStarting = new FakeGameStarting.Builder().DisplayWelcome().DisplayInitialBoard().Build(); FakeGameEnding fakeGameEnding = new FakeGameEnding.Builder().Display().Build(); TicTacToeGame subject = new TicTacToeGame(fakeBoard, fakeGameModeSelection, fakeGameStarting, fakeGameEnding); //Act subject.Run(); //Assert fakePlayersTurns.AssertGameOverInvokedCountMatches(4); }