LastFrame extends Frame { @Override public int countScore() { return firstRoll + secondRoll + thirdRoll; } LastFrame(int firstRoll, int secondRoll, int thirdRoll); @Override int countScore();  }
@Test public void shouldOnlyCountTwoRollsWhenThirdNotPresent() { LastFrame lastFrame = new LastFrame(3, 2, 0); int score = lastFrame.countScore(); assertThat(score, is(5)); }
@Test public void shouldOnlyCountOwnThreeRolls() { LastFrame lastFrame = new LastFrame(1, 9, 3); int score = lastFrame.countScore(); assertThat(score, is(13)); }
@Test public void shouldNotHaveBonusWhenStrike() { LastFrame lastFrame = new LastFrame(10, 8, 3); int score = lastFrame.countScore(); assertThat(score, is(21)); }
@Test public void shouldOnlyCountOwnScore() throws Exception { LastFrame frame = new LastFrame(1, 9, 10); int score = frame.countScore(); assertThat(score, is(20)); }
@Test public void shouldOnlyCountScoreOfItsOwnRolls() throws Exception { LastFrame frame = new LastFrame(1, 2, 3); int score = frame.countScore(); assertThat(score, is(6)); }