public void NonSpareInMiddle() { var scorer = new BowlingScore(); for (var frame = 0; frame < 4; frame++) { scorer.Roll(5); scorer.Roll(5); } scorer.Roll(3); scorer.Roll(5); for (var frame = 0; frame < 5; frame++) { scorer.Roll(5); scorer.Roll(5); } //Spare roll scorer.Roll(7); var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo(3 * 15 + 13 + 8 + 4 * 15 + 17)); }
public void AllGutterBalls() { var scorer = new BowlingScore(); for (var frame = 0; frame < 10; frame++) { scorer.Roll(0); scorer.Roll(0); } var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo(0)); }
public void SinglePins() { var scorer = new BowlingScore(); for (var frame = 0; frame < 10; frame++) { scorer.Roll(1); scorer.Roll(1); } var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo(20)); }
public void AllStrikes() { var scorer = new BowlingScore(); for (var frame = 0; frame < 10; frame++) { scorer.Roll(10); } // strike bonus rolls scorer.Roll(10); scorer.Roll(10); var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo(300)); }
public void StrikeThenSinglePins() { var scorer = new BowlingScore(); //strike scorer.Roll(10); for (var frame = 0; frame < 9; frame++) { scorer.Roll(1); scorer.Roll(1); } var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo(12 + 9 * 2)); }
public void SparesExceptLastFrame() { var scorer = new BowlingScore(); for (var frame = 0; frame < 9; frame++) { scorer.Roll(5); scorer.Roll(5); } scorer.Roll(3); scorer.Roll(5); var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo((8 * 15) + 13 + 8)); }
public void MixedSparesEveryTimeWithGutterFirst() { var scorer = new BowlingScore(); for (var frame = 0; frame < 10; frame++) { scorer.Roll(0); scorer.Roll(10); } //Spare roll scorer.Roll(7); var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo(10 * 9 + 17)); }
public void MixedSparesEveryTime() { var scorer = new BowlingScore(); for (var frame = 0; frame < 10; frame++) { scorer.Roll(3); scorer.Roll(7); } //Spare roll scorer.Roll(5); var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo(13 * 9 + 15)); }
public void FivePinsEveryTime() { var scorer = new BowlingScore(); for (var frame = 0; frame < 10; frame++) { scorer.Roll(5); scorer.Roll(5); } //Spare roll scorer.Roll(5); var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo(150)); }
public void NonSpareFirstThenSpares() { var scorer = new BowlingScore(); scorer.Roll(5); scorer.Roll(3); for (var frame = 0; frame < 9; frame++) { scorer.Roll(5); scorer.Roll(5); } //Spare roll scorer.Roll(7); var finalScore = scorer.CalculateScore(); Assert.That(finalScore, Is.EqualTo(8 + (8 * 15) + 17)); }