public void ShouldCreateSecondHumanCreationFromInput() { //Arrange FakePlayer fakePlayer = new FakePlayer.Builder().Build(); FakeValidResponse <IPlayer> fakeValidResponse = new FakeValidResponse <IPlayer> .Builder().Response(fakePlayer).Build(); FakeFormattedValidInput <IPlayer> fakeFormattedValidInput = new FakeFormattedValidInput <IPlayer> .Builder() .AddPromptArg() .AddPatternArg() .ValidInput(fakeValidResponse) .Build(); SecondHumanCreation subject = new SecondHumanCreation(fakeFormattedValidInput); //Act IPlayer actual = subject.Player("mark"); //Assert actual.Should().Be(fakePlayer); fakeFormattedValidInput.AssertAddPromptArgInvokedWith("mark"); fakeFormattedValidInput.AssertAddPatternArgInvokedWith("mark"); }
public void ShouldCreateComputerPlayerFromInput() { //Arrange FakeSelectMoveAction fakeSelectMoveAction = new FakeSelectMoveAction.Builder().Build(); FakeValidResponse <ISelectMoveAction> fakeValidResponse = new FakeValidResponse <ISelectMoveAction> .Builder().Response(fakeSelectMoveAction).Build(); FakeFormattedValidInput <ISelectMoveAction> fakeFormattedValidInput = new FakeFormattedValidInput <ISelectMoveAction> .Builder() .AddPromptArg() .ValidInput(fakeValidResponse) .Build(); ComputerCreation subject = new ComputerCreation(fakeFormattedValidInput); //Act IPlayer actual = subject.Player("mark"); //Assert actual.Cell().Value().Should().Be("m"); actual.Should().BeOfType <ComputerPlayer>(); fakeFormattedValidInput.AssertAddPromptArgInvokedWith("mark"); fakeValidResponse.AssertInputInvoked(); }