예제 #1
0
        public void BeInitializedCorrectly(int player1Position, int player2Position)
        {
            var sut = new DiracDiceGame(player1Position, player2Position);

            Assert.True(sut.IsPlayerAt(0, player1Position));
            Assert.True(sut.IsPlayerAt(1, player2Position));
        }
예제 #2
0
        public void SolveFirstPuzzle()
        {
            var sut = new DiracDiceGame(10, 8);

            sut.PlayGame();

            Assert.Equal(752247, sut.NumberOfDiceThrowsTimesLoserScore);
        }
예제 #3
0
        public void PlayFullGameUntilReaching1000Points(int firstPlayerStartingPosition, int secondPlayerStartingPosition, int expectedScore)
        {
            var sut = new DiracDiceGame(firstPlayerStartingPosition, secondPlayerStartingPosition);

            sut.PlayGame();

            Assert.Equal(expectedScore, sut.NumberOfDiceThrowsTimesLoserScore);
        }
예제 #4
0
        public void UpdatePlayerPositionCorrectly_AfterOneRound()
        {
            var sut = new DiracDiceGame(4, 8);

            sut.OnePlayerTurn();
            sut.OnePlayerTurn();
            Assert.True(sut.IsPlayerAt(0, 10));
            Assert.Equal(10, sut.GetScoreFor(0));
            Assert.True(sut.IsPlayerAt(1, 3));
            Assert.Equal(3, sut.GetScoreFor(1));
        }
예제 #5
0
        public void UpdatePlayerPositionCorrectly_AfterTwoRounds()
        {
            var sut = new DiracDiceGame(4, 8);

            sut.OnePlayerTurn();
            sut.OnePlayerTurn();
            sut.OnePlayerTurn();
            sut.OnePlayerTurn();

            Assert.True(sut.IsPlayerAt(0, 4));
            Assert.Equal(14, sut.GetScoreFor(0));
            Assert.True(sut.IsPlayerAt(1, 6));
            Assert.Equal(9, sut.GetScoreFor(1));
        }