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); }
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); }
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); }