### 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 event); @Override void update(Object score);  }### Answer:
@Test public void shouldCollectScores() { scores = new Scores(140, settings); killWall(); killWall(); killWall(); killWall(); killYourself(); killMeatChopper(); killOtherHero(); dropPerk(); winRound(); assertEquals(140 + 4*settings.killWallScore().getValue() - settings.diePenalty().getValue() + settings.catchPerkScore().getValue() + settings.killOtherHeroScore().getValue() + settings.killMeatChopperScore().getValue() + settings.winRoundScore().getValue(), scores.getScore()); }
@Test public void shouldStillZeroAfterDead() { killYourself(); assertEquals(0, scores.getScore()); }