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); }
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); }