bug5477: initial implementation producing a RaceLogResultsAreOfficialEvent when TracTrac reports OFFICIAL race status

This commit is contained in:
Axel Uhl
2021-01-11 18:35:57 +01:00
parent 1881dc2540
commit 5e63483d77
24 changed files with 277 additions and 11 deletions
@@ -0,0 +1,35 @@
package com.sap.sailing.domain.racelog.analyzing.test;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import org.junit.Test;
import com.sap.sailing.domain.abstractlog.race.RaceLog;
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
import com.sap.sailing.domain.abstractlog.race.RaceLogResultsAreOfficialEvent;
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.ResultsAreOfficialFinder;
public class ResultsAreOfficialFinderTest extends RaceLogAnalyzerTest<ResultsAreOfficialFinder> {
@Override
protected ResultsAreOfficialFinder createAnalyzer(RaceLog raceLog) {
return new ResultsAreOfficialFinder(raceLog);
}
@Test
public void testFalseForNoResultsAreOfficialEvent() {
RaceLogEvent event1 = createEvent(RaceLogEvent.class, 1);
raceLog.add(event1);
assertNull(analyzer.analyze());
}
@Test
public void testSingleLast() {
RaceLogResultsAreOfficialEvent event1 = createEvent(RaceLogResultsAreOfficialEvent.class, 1);
RaceLogResultsAreOfficialEvent event2 = createEvent(RaceLogResultsAreOfficialEvent.class, 2);
raceLog.add(event1);
raceLog.add(event2);
RaceLogResultsAreOfficialEvent result = analyzer.analyze();
assertSame(event2, result);
}
}
@@ -197,11 +197,15 @@ public class RaceStateTest {
@Test
public void testGetRacingProcedure() throws InterruptedException {
state.setRacingProcedure(nowMock, RacingProcedureType.RRS26);
GateStartRacingProcedure procedure = state.getTypedRacingProcedure(GateStartRacingProcedure.class);
assertNull(procedure);
}
@Test
public void testResultsAreOfficial() {
assertFalse(state.isResultsAreOfficial());
state.setResultsAreOfficial(TimePoint.now());
assertTrue(state.isResultsAreOfficial());
}
}