public void DartsGameTest_ANew301Game_InitializesPlayers_With301Score() { var dartsGame = new DartsGame(GameType.The301, new[] { _player1.Object, _player2.Object }); _player1.Verify(p => p.StartNewGame(It.Is <IScorecard>(sc => sc.Score == 301))); _player2.Verify(p => p.StartNewGame(It.Is <IScorecard>(sc => sc.Score == 301))); }
public void DartsGameTest_ANewGame_InitializesPlayers() { var dartsGame = new DartsGame(GameType.The301, new[] { _player1.Object, _player2.Object }); _player1.Verify(p => p.StartNewGame(It.IsAny <IScorecard>())); _player2.Verify(p => p.StartNewGame(It.IsAny <IScorecard>())); }
public void DartsGameTest_PlayTurn_ThrowsExceptionWhenTheGameIsAlreadyFinished() { _player2.SetupGet(p => p.HasWon).Returns(true); var dartsGame = new DartsGame(GameType.The301, new[] { _player1.Object, _player2.Object }); dartsGame.PlayTurn(); }
public void DartsGameTest_AGameIsFinished_WhenAPlayerHasWon() { _player1.SetupGet(p => p.HasWon).Returns(false); _player2.SetupGet(p => p.HasWon).Returns(true); var dartsGame = new DartsGame(GameType.The301, new[] { _player1.Object, _player2.Object }); Assert.IsTrue(dartsGame.Finished); }
public void DartsGameTest_PlayTurn_AsksPlayersInOrderToPlayHisTurn() { var dartsGame = new DartsGame(GameType.The301, new[] { _player1.Object, _player2.Object }); using (Sequence.Create()) { _player1.Setup(p => p.PlayTurn()).InSequence(); _player2.Setup(p => p.PlayTurn()).InSequence(); dartsGame.PlayTurn(); } }
public void DartsGameTest_PlayTurn_EndsTurnWhenAPlayerWins() { var player3 = new Mock <IPlayer>(); _player2.SetupSequence(p => p.HasWon) .Returns(false) .Returns(true); var dartsGame = new DartsGame(GameType.The301, new[] { _player1.Object, _player2.Object, player3.Object }); using (Sequence.Create()) { _player1.Setup(p => p.PlayTurn()).InSequence(); _player2.Setup(p => p.PlayTurn()).InSequence(); dartsGame.PlayTurn(); player3.Verify(p => p.PlayTurn(), Times.Never); } }
public void DartsGameTest_ANewGameNeedsAtLeast2Players() { var dartsGame = new DartsGame(GameType.The301, new[] { _player1.Object }); }
public void DartsGameTest_ANewGameNeedsPlayers() { var dartsGame = new DartsGame(GameType.The301, null); }