Exemplo n.º 1
0
        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)));
        }
Exemplo n.º 2
0
        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>()));
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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();
            }
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 7
0
 public void DartsGameTest_ANewGameNeedsAtLeast2Players()
 {
     var dartsGame = new DartsGame(GameType.The301, new[] { _player1.Object });
 }
Exemplo n.º 8
0
 public void DartsGameTest_ANewGameNeedsPlayers()
 {
     var dartsGame = new DartsGame(GameType.The301, null);
 }