Exemplo n.º 1
0
        public void ShouldPlayARandomShapeIfItIsTheFirstRoundOfTheGame()
        {
            var player1 = new TacticalComputerPlayer(1);
            var player2 = new HumanPlayer(2);

            var game = GameState.NewGame(new RockPaperScissorsRules(), player1, player2);

            Assert.That(player1.MakeSelection(game),
                        Is.EqualTo(Shape.Rock).Or.EqualTo(Shape.Paper).Or.EqualTo(Shape.Scissors));
        }
Exemplo n.º 2
0
        public void ShouldPlayTheShapeThatWouldHaveBeatenItsLastChoiceIfItIsNotTheFirstRoundOfTheGame(
            Shape player1Shape, Shape player2Shape, int playerNumber, Shape expectedSelection)
        {
            var roundResults   = new List <RoundResult>();
            var computerPlayer = new TacticalComputerPlayer(playerNumber);
            var humanPlayer    = new HumanPlayer(playerNumber == 1 ? 2 : 1);
            var player1        = computerPlayer.Number == 1 ? (Player)computerPlayer : humanPlayer;
            var player2        = computerPlayer.Number == 2 ? (Player)computerPlayer : humanPlayer;

            var game = new GameState(new RockPaperScissorsRules().Rules,
                                     player1, player2, 2, 3,
                                     new List <RoundResult> {
                new RoundResult(1, player1Shape, player2Shape, null)
            });

            Assert.That(computerPlayer.MakeSelection(game), Is.EqualTo(expectedSelection));
        }