### Question:
Scores implements PlayerScores { @Override public Integer getScore() { return score; } Scores(int startScore, GameSettings settings); @Override int clear(); @Override Integer getScore(); @Override void event(Object object); @Override void update(Object score);  }### Answer:
@Test public void shouldCollectScores() { scores = new Scores(140, settings); killOtherHeroTank(1); killOtherHeroTank(2); killOtherHeroTank(3); killOtherAITank(); killOtherAITank(); killYourTank(); assertEquals(140 + (1 + 2 + 3)*settings.killOtherHeroTankScore().getValue() + 2*settings.killOtherAITankScore().getValue() - settings.killYourTankPenalty().getValue(), scores.getScore()); }
@Test public void shouldStillZeroAfterDead() { killYourTank(); assertEquals(0, scores.getScore()); }