示例#1
0
        public void TestFrame10Score_StrikeFollowedByStrikeThenNonStrike()
        {
            //Assemble
            Frame10 frame10 = new Frame10()
            {
                FrameNumber = 10, BallOneIndex = 0, BallTwoIndex = 1, BallThreeIndex = 2
            };

            balls = new List <Ball>()
            {
                new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 5
                }
                , new Ball {
                    PinsNockedDown = 6
                }
            };

            //Act
            int?frameScore = frame10.FrameScore(balls);

            //Assert
            Assert.AreEqual(21, frameScore);
        }
示例#2
0
        public void TestFrame10Score_3Strikes()
        {
            //Assemble
            Frame10 frame10 = new Frame10()
            {
                FrameNumber = 10, BallOneIndex = 0, BallTwoIndex = 1, BallThreeIndex = 2
            };

            balls = new List <Ball>()
            {
                new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
            };

            //Act
            int?frameScore = frame10.FrameScore(balls);

            //Assert
            Assert.AreEqual(30, frameScore);
        }
示例#3
0
        public void TestFrame10Score_StrikeFollowedByTwoNonStrike()
        {
            //Assemble
            Frame10 frame10 = new Frame10()
            {
                FrameNumber = 10, BallOneIndex = 17, BallTwoIndex = 18, BallThreeIndex = 19
            };

            //Act
            int?frameScore = frame10.FrameScore(balls);

            //Assert
            Assert.AreEqual(18, frameScore);
        }
        public void TestTotalScore_AllStrikes()
        {
            //Assemble
            List <IFrame> frames = new List <IFrame>(10);

            IFrame frame1 = new Frame()
            {
                FrameNumber = 1, BallOneIndex = 0, BallTwoIndex = null, BonusOneEnabled = true, BonusTwoEnabled = true
            };

            frames.Add(frame1);
            IFrame frame2 = new Frame()
            {
                FrameNumber = 2, BallOneIndex = 1, BallTwoIndex = null, BonusOneEnabled = true, BonusTwoEnabled = true
            };

            frames.Add(frame2);
            IFrame frame3 = new Frame()
            {
                FrameNumber = 3, BallOneIndex = 2, BallTwoIndex = null, BonusOneEnabled = true, BonusTwoEnabled = true
            };

            frames.Add(frame3);
            IFrame frame4 = new Frame()
            {
                FrameNumber = 4, BallOneIndex = 3, BallTwoIndex = null, BonusOneEnabled = true, BonusTwoEnabled = true
            };

            frames.Add(frame4);
            IFrame frame5 = new Frame()
            {
                FrameNumber = 5, BallOneIndex = 4, BallTwoIndex = null, BonusOneEnabled = true, BonusTwoEnabled = true
            };

            frames.Add(frame5);
            IFrame frame6 = new Frame()
            {
                FrameNumber = 6, BallOneIndex = 5, BallTwoIndex = null, BonusOneEnabled = true, BonusTwoEnabled = true
            };

            frames.Add(frame6);
            IFrame frame7 = new Frame()
            {
                FrameNumber = 7, BallOneIndex = 6, BallTwoIndex = null, BonusOneEnabled = true, BonusTwoEnabled = true
            };

            frames.Add(frame7);
            IFrame frame8 = new Frame()
            {
                FrameNumber = 8, BallOneIndex = 7, BallTwoIndex = null, BonusOneEnabled = true, BonusTwoEnabled = true
            };

            frames.Add(frame8);
            IFrame frame9 = new Frame()
            {
                FrameNumber = 9, BallOneIndex = 8, BallTwoIndex = null, BonusOneEnabled = true, BonusTwoEnabled = true
            };

            frames.Add(frame9);
            IFrame frame10 = new Frame10()
            {
                FrameNumber = 10, BallOneIndex = 9, BallTwoIndex = 10, BallThreeEnabled = true, BallThreeIndex = 11
            };

            frames.Add(frame10);

            balls = new List <Ball>()
            {
                new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
                , new Ball {
                    PinsNockedDown = 10
                }
            };

            //Act
            CalculateScore calculator = new CalculateScore();
            int?           totalScore = calculator.TotalScore(frames, balls, 9);

            //Assert
            Assert.AreEqual(300, totalScore);
        }