Beispiel #1
0
        public void ShouldReturnComputerFirstOrder()
        {
            //Arrange
            ComputerFirstPlayerTurn subject = new ComputerFirstPlayerTurn();

            //Act
            IPlayerOrder actual = subject.Response("");

            //Assert
            actual.Should().BeOfType <ComputerFirstOrder>();
        }
Beispiel #2
0
        public void ShouldReturnHumanFirstOrderGivenMatchingInput()
        {
            //Arrange
            FakePlayerTurnsOrderAction fakePlayerTurnsOrderAction = new FakePlayerTurnsOrderAction.Builder().Build();
            HumanFirstPlayerTurn       subject = new HumanFirstPlayerTurn(fakePlayerTurnsOrderAction);

            //Act
            IPlayerOrder actual = subject.Response("1");

            //Assert
            actual.Should().BeOfType <HumanFirstOrder>();
        }
Beispiel #3
0
        public void ShouldReturnInvokeNextGivenNotHandled()
        {
            //Arrange
            FakePlayerOrder            fakePlayerOrder            = new FakePlayerOrder.Builder().Build();
            FakePlayerTurnsOrderAction fakePlayerTurnsOrderAction = new FakePlayerTurnsOrderAction.Builder().Response(fakePlayerOrder).Build();
            HumanFirstPlayerTurn       subject = new HumanFirstPlayerTurn(fakePlayerTurnsOrderAction);

            //Act
            IPlayerOrder actual = subject.Response("2");

            //Assert
            actual.Should().Be(fakePlayerOrder);
        }
Beispiel #4
0
 public Stage(Queue <string> shuffledWords, IPlayerOrder playerOrder, TimeSpan timePerPlayer)
 {
     this.RemainingWords = shuffledWords;
     this.playerOrder    = playerOrder;
     this.TimePerPlayer  = timePerPlayer;
 }
Beispiel #5
0
 public Stage(List <string> nonShuffledWords, IPlayerOrder playerOrder, TimeSpan timePerPlayer)
 {
     this.RemainingWords = ShuffleWords(nonShuffledWords);
     this.playerOrder    = playerOrder;
     this.TimePerPlayer  = timePerPlayer;
 }
 private static IPlayersTurns PlayersTurns(IBoard board, IPlayerOrder order, IPlayer human, IPlayer computer) =>
 order.HumanFirst()
         ? new PlayersTurns(board, human, computer)
         : new PlayersTurns(board, computer, human);
 public Builder Response(IPlayerOrder expected)
 {
     _responseItem.UpdateInvocation(expected);
     return(this);
 }