Exemple #1
0
        public void OneRandomFrame()
        {
            // Track the random generated numbers to validate the frame total.
            var game = new RandomGame();

            var rollOnePinsBowled = game.Bowl().PinsBowled;
            var rollTwoPinsBowled = game.Bowl().PinsBowled;

            var score      = rollOnePinsBowled + rollTwoPinsBowled;
            var frameTotal = rollOnePinsBowled + rollTwoPinsBowled;

            Assert.AreEqual(score, game.Score, $@"Expected score {score} Game score {game.Score}");
            Assert.AreEqual(frameTotal, game.Frames[0].Total, $@"Expected total {frameTotal} Frame total {game.Frames[0].Total}");
        }
Exemple #2
0
        public void RandomBowl()
        {
            var game = new RandomGame();

            var roll = game.Bowl();

            Assert.AreEqual(roll.PinsBowled, game.Frames[0].RollOne.PinsBowled, $@"Expected Pins Bowled {roll.PinsBowled}, Actual Pins Bowled {game.Frames[0].RollOne.PinsBowled}");
        }
Exemple #3
0
        public void RandomBowl_FrameSet()
        {
            var game = new RandomGame();

            var roll = game.Bowl();
            var frameSetPinsBowled = game.FrameSet.Where(p => p == 1).Sum();

            Assert.AreEqual(roll.PinsBowled, game.Frames[0].RollOne.PinsBowled, $@"Expected Pins Bowled {roll.PinsBowled}, Actual Pins Bowled {game.Frames[0].RollOne.PinsBowled}");
        }
Exemple #4
0
        public void RandomBowl_GameIsFinished()
        {
            var isFinished = true;

            var game = new RandomGame();
            var roll = game.Bowl();

            for (int i = 0; i < 19; i++)
            {
                roll = game.Bowl();
            }

            // Is an extra roll warranted?
            if (game.IsExtraRoll)
            {
                roll = game.Bowl();
            }

            Assert.AreEqual(isFinished, game.IsFinished, $@"Expected Game Finished {isFinished}, Actual Game Finished {game.IsFinished}");
            Assert.AreEqual(isFinished, game.IsFinished, $@"Expected Game Finished {isFinished}, Actual Game Finished {game.IsFinished}");
        }