@Test
public void itShouldGetResultsWithScoreForRegistrationWithCompletedRuns() {

    ScoredRun expectedScoredRun = DomainEntityTestUtils.fullScoredRun();
    allRunsWithRegistration.addAll(Arrays.asList(mock(Run.class), mock(Run.class)));
    expectedScoredRun.setRawTimeScored(TestConstants.SCORED_RUN_RAW_TIME_SCORED.subtract(BigDecimal.ONE));
    expectedScoredRun.setHandicapTimeScored(TestConstants.SCORED_RUN_HANDICAP_TIME_SCORED.subtract(BigDecimal.ONE));
    ScoredRun unexpectedScoredRun = DomainEntityTestUtils.fullScoredRun();
    unexpectedScoredRun.setRawTimeScored(TestConstants.SCORED_RUN_RAW_TIME_SCORED.add(BigDecimal.ONE));
    unexpectedScoredRun.setHandicapTimeScored(TestConstants.SCORED_RUN_HANDICAP_TIME_SCORED.add(BigDecimal.ONE));
    List<ScoredRun> expectedScoredRuns = Arrays.asList(unexpectedScoredRun, expectedScoredRun);
    when(runScoringInteractor.score(any(Run.class))).thenReturn(unexpectedScoredRun, expectedScoredRun);
    GetRegistrationResultsPayload actual = resultsService.getResultsFor(registration);
    assertThat(actual.getScore()).isEqualTo(expectedScoredRun);
    assertThat(actual.getScoredRuns()).isEqualTo(expectedScoredRuns);
    assertThat(actual.getRegistration()).isSameAs(registration);
}