public void Given_SomeGame_With_Player2_When_Player2_Select_A_Case_Then_The_Case_Is_Marked_By_O_And_Player1_Could_Play() { using (var consoleHooker = new TestsHelpers.ConsoleHooker()) { // Arrange string expectedPlayer = "Vince"; string Player2 = "kavin"; string expectedGrid = "XO2OOXX78"; var stubGameViewFactory = Substitute.For <IGameViewFactory>(); var moq = Substitute.For <IGameView>(); stubGameViewFactory.Create(Arg.Any <IUICommandChannel>()).Returns(moq); var sutBuilder = new CompositionRootBuilder() .WithPlayer1(expectedPlayer) .WithPlayer2(Player2) .WithPlayer2AsCurrentPlayer() .WithGrid(new bool?[, ] { { true, false, true }, { null, false, null }, { null, true, null } }) .WithGameViewFactory(stubGameViewFactory); var sut = sutBuilder.Create(); // Act sut.ApplyPlayerSelection(Player2, 1, 0); // Assert moq.Received().Render(new GameDto(expectedGrid, expectedPlayer)); } }
public void Given_NewGame_With_Player1_When_Game_Starts_Then_EmptyGrid_Is_Rendered_For_Player1() { using (var consoleHooker = new TestsHelpers.ConsoleHooker()) { // Arrange string expectedPlayer = "Player1"; string expectedGrid = "012345678"; var stubGameViewFactory = Substitute.For <IGameViewFactory>(); var sutBuilder = new CompositionRootBuilder().WithPlayer1(expectedPlayer).WithGameViewFactory(stubGameViewFactory); var moq = Substitute.For <IGameView>(); stubGameViewFactory.Create(Arg.Any <IUICommandChannel>()).Returns(moq); var sut = sutBuilder.Create(); // Act sut.Start(); // Assert moq.Received().Render(new GameDto(expectedGrid, expectedPlayer)); } }