public void Print_ShouldPrint() { //Arrange FakePrinter fakePrinter = new FakePrinter.Builder().Print().Build(); Board subject = new Board(null, null, fakePrinter); //Act subject.Print(); //Assert fakePrinter.AssertPrintInvoked(); }
public void ShouldNotPrintWhenNotTieAndInvokeNext() { //Arrange Bool expected = Bool.False; FakePrinter fakePrinter = new FakePrinter.Builder().Build(); FakeTieEndsGameAction fakeTieEndsGameAction = new FakeTieEndsGameAction.Builder().Act(expected).Build(); PrintTieEndsGameAction subject = new PrintTieEndsGameAction(fakeTieEndsGameAction, fakePrinter); //Act Bool actual = subject.Act(expected); //Assert actual.Should().NotBeNull(); fakeTieEndsGameAction.AssertActInvoked(); }
public void ShouldWinPrintActivePlayer() { //Arrange FakePlayerEndsGameAction fakePlayerEndsGameAction = new FakePlayerEndsGameAction.Builder().Act(Bool.True).Build(); PrintWinPlayerEndsGameAction subject = new PrintWinPlayerEndsGameAction(fakePlayerEndsGameAction); FakePrinter fakePrinter = new FakePrinter.Builder().Print().Build(); FakePlayer fakePlayer = new FakePlayer.Builder().WinPrinter(fakePrinter).Build(); //Act bool actual = subject.Act(null, fakePlayer, null); //Assert actual.Should().BeTrue(); fakePrinter.AssertPrintInvoked(); fakePlayerEndsGameAction.AssertActInvoked(); }
public void AvailableSpaces_ShouldHaveOnlyAvailableCells() { //Arrange FakePrinter fakePrinter = new FakePrinter.Builder().Build(); FakeGameState fakeGameState = new FakeGameState.Builder().Build(); FakeCell fakeCell = new FakeCell.Builder().IsSelected(Bool.False).Build(); FakeCell fakeCellSelected = new FakeCell.Builder().IsSelected(Bool.True).Build(); Board subject = new Board(new CellCollection(new ICell[] { fakeCell, fakeCellSelected }), fakeGameState, fakePrinter); //Act ICellCollection actual = subject.AvailableSpaces(); //Assert ((int)actual.Count()).Should().Be(1); }
public void ClaimEndsGame_ReturnTrueWhenOver() { //Arrange FakePrinter fakePrinter = new FakePrinter.Builder().Build(); FakeCell fakeCell = new FakeCell.Builder().Build(); FakeCellCollection fakeCellCollection = new FakeCellCollection.Builder() .UpdateTo() .Build(); FakeGameState fakeGameState = new FakeGameState.Builder().IsGameOver(Bool.True).Build(); FakePlayer fakePlayer = new FakePlayer.Builder().Cell(fakeCell).Build(); Board subject = new Board(fakeCellCollection, fakeGameState, fakePrinter); //Act Bool actual = subject.ClaimEndsGame(null, fakePlayer); //Assert ((bool)actual).Should().BeTrue(); }
public void ClaimEndsGame_ShouldClaimCellForPlayer() { //Arrange FakePrinter fakePrinter = new FakePrinter.Builder().Build(); FakeCell fakeCellBoard = new FakeCell.Builder().IsSelected(Bool.False).Value("1").Build(); FakeCell fakeCellSelected = new FakeCell.Builder().IsSelected(Bool.False).Value("1").Build(); FakeCell fakeCellPlayer = new FakeCell.Builder().AsSelected(fakeCellSelected).Value("1").Build(); ICellCollection cellCollection = new CellCollection(new ICell[] { fakeCellBoard }); FakeGameState fakeGameState = new FakeGameState.Builder().IsGameOver(Bool.False).Build(); FakePlayer fakePlayer = new FakePlayer.Builder().Cell(fakeCellPlayer).Build(); Board subject = new Board(cellCollection, fakeGameState, fakePrinter); //Act subject.ClaimEndsGame(fakeCellBoard, fakePlayer); //Assert cellCollection.At(new IntOf(0)).Should().NotBe(fakeCellBoard); }