예제 #1
0
        public void ClosedScore()
        {
            var cricket = new Cricket(2);

            cricket.RegisterDart(20, 3);
            cricket.RegisterDart(20, 3);
            cricket.RegisterDart(20, 3);
            Assert.AreEqual(120, cricket.GetScore(cricket.Players[0]));
            cricket.NextPlayer();

            cricket.RegisterDart(20, 3);
            Assert.AreEqual(120, cricket.GetScore(cricket.Players[0]));
            Assert.IsFalse(getSegment(cricket, 20).IsOpen);
        }
        public void PlayerStartPlay()
        {
            var game = new Cricket();

            game.StartPlay(0);
            Assert.AreEqual(game.GetScore(0), 0);
        }
        public void Score_InvalidRuns_ShouldNotUpdatePlayerScore()
        {
            var game = new Cricket();

            game.StartPlay(0);
            game.UpdateScore(0, 8);
            Assert.AreEqual(game.GetScore(0), 0);
        }
        public void Score_ValidRuns_MultipltTimes_ShouldUpdatePlayerScore()
        {
            var game = new Cricket();

            game.StartPlay(0);
            game.UpdateScore(0, 4);
            game.UpdateScore(0, 3);
            Assert.AreEqual(game.GetScore(0), 7);
        }
예제 #5
0
        public void Unthrow()
        {
            var cricket = new Cricket(1);
            var player1 = cricket.Players[0];

            // Player 1, open 25
            cricket.RegisterDart(25, 1);
            Assert.AreEqual(0, cricket.GetScore(player1));

            cricket.RegisterDart(25, 2);
            Assert.AreEqual(0, cricket.GetScore(player1));

            // Player 1, score 50 points
            cricket.RegisterDart(25, 2);
            Assert.AreEqual(50, cricket.GetScore(player1));

            // Player 1, unthrow, remove last 50 points
            cricket.Unthrow();
            Assert.AreEqual(0, cricket.GetScore(player1));
        }
 public void ThenThePlayerScoreShouldBe(int playerId, int score)
 {
     _game.GetScore(playerId - 1).Should().Be(score);
 }