Ejemplo n.º 1
0
        public void Player1MoveDoesNotBeatOrDrawWithPlayer2MovePlayer2Wins()
        {
            // Arrange
            const GameMove player1Move = GameMove.Rock;
            const GameMove player2Move = GameMove.Paper;

            var mockgameMoveOutcomeDataProvider = new Mock <IGameMoveOutcomeDataProvider>();
            var gameMoveOutcomes = new List <GameMoveOutcomes> {
                new GameMoveOutcomes {
                    Move = player1Move, Beats = new List <GameMove> {
                        GameMove.Scissors
                    }
                }
            };

            mockgameMoveOutcomeDataProvider.Setup(m => m.AllGameMoveOutcomes).Returns(gameMoveOutcomes);

            var roundCalculator = new RoundCalculator(mockgameMoveOutcomeDataProvider.Object);

            // Act
            var result = roundCalculator.CalculateRoundResult(player1Move, player2Move);

            // Assert
            Assert.AreEqual(Result.Player2Wins, result);
        }
Ejemplo n.º 2
0
        public void Player1MoveEqualsPlayer2MoveADrawIsReturned()
        {
            // Arrange
            const GameMove player1Move = GameMove.Rock;
            const GameMove player2Move = player1Move;

            var mockgameMoveOutcomeDataProvider = new Mock <IGameMoveOutcomeDataProvider>();

            var roundCalculator = new RoundCalculator(mockgameMoveOutcomeDataProvider.Object);

            // Act
            var result = roundCalculator.CalculateRoundResult(player1Move, player2Move);

            // Assert
            Assert.AreEqual(Result.Draw, result);
        }