public void CalculateScoreForFrameTest_summationsForOngoingPlay() { // arrange TraditionalBowlingScoringCalculator scoreCalculator = new TraditionalBowlingScoringCalculator(); IList <BowlingFrame> playedFrames = new List <BowlingFrame>() { BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 3, 7 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 10, 0 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 8, 2 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 8, 1 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 10, 0 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 3, 4 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 7, 0 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 5, 5 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 3, 2 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 2, 5 }) }; int[] pointsSummationsDuringPlay = new[] { 10, 30, 50, 67, 77, 91, 98, 108, 116, 123 }; for (int i = 0; i < playedFrames.Count; i++) { scoreCalculator.AddPlayedBowlingFrame(playedFrames[i]); // assert int summarizedGameScore = scoreCalculator.CalculateTotalScoreForGame(); Assert.AreEqual(summarizedGameScore, pointsSummationsDuringPlay[i]); } }
public void CalculateScoreForFrameTest_summationsForFinishedGame_variant() { // arrange TraditionalBowlingScoringCalculator scoreCalculator = new TraditionalBowlingScoringCalculator(); IList <BowlingFrame> playedFrames = new List <BowlingFrame>() { BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 7, 1 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 0, 2 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 0, 10 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 6, 4 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 10, 0 }), BowlingFrame.CreateAndValidateFrameFromPoints(new int[] { 10, 0 }) }; int[] pointsSummationsAfterGame = new[] { 8, 10, 26, 46, 66, 76 }; for (int i = 0; i < playedFrames.Count; i++) { scoreCalculator.AddPlayedBowlingFrame(playedFrames[i]); } int totalPoints = 0; for (int j = 1; j <= playedFrames.Count; j++) { totalPoints += scoreCalculator.CalculateScoreForSingleFrame(j, playedFrames); Assert.AreEqual(totalPoints, pointsSummationsAfterGame[j - 1]); } }