mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-09 13:50:57 +00:00
Added test to ensure that UpdateSeries also replicates newly created series
This commit is contained in:
1 parent
6c57f40ee2
commit
31c6aa8993
7 files changed
+87
-9
No files matched your search
+46
@@ -23,10 +23,13 @@ import com.sap.sailing.domain.base.Series;
|
||||
import com.sap.sailing.domain.base.configuration.impl.RegattaConfigurationImpl;
|
||||
import com.sap.sailing.domain.base.impl.FleetImpl;
|
||||
import com.sap.sailing.domain.base.impl.SeriesImpl;
|
||||
import com.sap.sailing.domain.common.Color;
|
||||
import com.sap.sailing.domain.common.CourseDesignerMode;
|
||||
import com.sap.sailing.domain.common.RegattaName;
|
||||
import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.impl.Util;
|
||||
import com.sap.sailing.server.operationaltransformation.UpdateSeries;
|
||||
import com.sap.sailing.server.operationaltransformation.UpdateSpecificRegatta;
|
||||
|
||||
public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
@@ -179,6 +182,49 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest {
|
||||
assertNull(replicatedRegatta.getDefaultCourseArea());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegattaUpdateSeriesWithNewSeries() throws InterruptedException {
|
||||
final String baseEventName = "Extreme Sailing Series 2020";
|
||||
final String boatClassName = "Extreme40";
|
||||
final List<String> emptyRaceColumnNamesList = Collections.emptyList();
|
||||
Series qualification = new SeriesImpl("Qualification", /* isMedal */ false,
|
||||
Arrays.asList(new Fleet[] { new FleetImpl("Yellow"), new FleetImpl("Blue") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null);
|
||||
Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName,
|
||||
UUID.randomUUID(), Arrays.asList(new Series[] { qualification }), /* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), null);
|
||||
Thread.sleep(1000);
|
||||
Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName()));
|
||||
assertNotNull(replicatedRegatta);
|
||||
assertTrue(replicatedRegatta.isPersistent());
|
||||
assertFalse(Util.isEmpty((replicatedRegatta.getSeries())));
|
||||
Iterator<? extends Series> seriesIter = replicatedRegatta.getSeries().iterator();
|
||||
Series replicatedQualification = seriesIter.next();
|
||||
assertEquals("Qualification", replicatedQualification.getName());
|
||||
assertEquals(2, Util.size(replicatedQualification.getFleets()));
|
||||
assertFalse(seriesIter.hasNext());
|
||||
Series finals = new SeriesImpl("Finals", /* isMedal */ false,
|
||||
Arrays.asList(new Fleet[] { new FleetImpl("Gold", 1) }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null);
|
||||
FleetDTO finalsGoldFleet = new FleetDTO("Gold", 1, Color.GRAY);
|
||||
master.apply(new UpdateSeries(masterRegatta.getRegattaIdentifier(), finals.getName(), finals.isMedal(),
|
||||
new int[] {},
|
||||
finals.isStartsWithZeroScore(), finals.isFirstColumnIsNonDiscardableCarryForward(),
|
||||
finals.hasSplitFleetContiguousScoring(), Arrays.asList(new FleetDTO[] { finalsGoldFleet })));
|
||||
Thread.sleep(1000);
|
||||
replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName()));
|
||||
assertNotNull(replicatedRegatta);
|
||||
assertTrue(replicatedRegatta.isPersistent());
|
||||
assertFalse(Util.isEmpty((replicatedRegatta.getSeries())));
|
||||
seriesIter = replicatedRegatta.getSeries().iterator();
|
||||
replicatedQualification = seriesIter.next();
|
||||
assertEquals("Qualification", replicatedQualification.getName());
|
||||
assertEquals(2, Util.size(replicatedQualification.getFleets()));
|
||||
assertTrue(seriesIter.hasNext());
|
||||
Series replicatedFinals = seriesIter.next();
|
||||
assertEquals("Finals", replicatedFinals.getName());
|
||||
assertEquals(1, Util.size(replicatedFinals.getFleets()));
|
||||
assertNotNull(replicatedFinals.getFleetByName("Gold"));
|
||||
assertEquals(1, replicatedFinals.getFleetByName("Gold").getOrdering());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSpecificRegattaReplicationWithCourseArea() throws InterruptedException {
|
||||
final String eventName = "ESS Singapur";
|
||||
|
||||
Reference in new issue
Block a user