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");
        }
示例#2
0
        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();
        }