mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-08 21:30:57 +00:00
added more test logic to regatta store/load test
This commit is contained in:
1 parent
81fd84e08e
commit
197d6306de
2 files changed
+61
-3
No files matched your search
@@ -30,6 +30,19 @@ public class Util {
|
||||
}
|
||||
}
|
||||
|
||||
public static <T> boolean equals(Iterable<? extends T> a, Iterable<? extends T> b) {
|
||||
Iterator<? extends T> aIter = a.iterator();
|
||||
Iterator<? extends T> bIter = b.iterator();
|
||||
while (aIter.hasNext() && bIter.hasNext()) {
|
||||
T ao = aIter.next();
|
||||
T bo = bIter.next();
|
||||
if (!ao.equals(bo)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return !aIter.hasNext() && !bIter.hasNext();
|
||||
}
|
||||
|
||||
public static <T> T get(Iterable<T> iterable, int i) {
|
||||
if (iterable instanceof List<?>) {
|
||||
List<T> l = (List<T>) iterable;
|
||||
|
||||
+48
-3
@@ -1,9 +1,12 @@
|
||||
package com.sap.sailing.mongodb.test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Test;
|
||||
@@ -19,10 +22,12 @@ import com.sap.sailing.domain.base.Venue;
|
||||
import com.sap.sailing.domain.base.impl.CourseAreaImpl;
|
||||
import com.sap.sailing.domain.base.impl.EventImpl;
|
||||
import com.sap.sailing.domain.base.impl.FleetImpl;
|
||||
import com.sap.sailing.domain.base.impl.RaceColumnInSeries;
|
||||
import com.sap.sailing.domain.base.impl.RegattaImpl;
|
||||
import com.sap.sailing.domain.base.impl.SeriesImpl;
|
||||
import com.sap.sailing.domain.base.impl.VenueImpl;
|
||||
import com.sap.sailing.domain.common.impl.Util;
|
||||
import com.sap.sailing.domain.leaderboard.RaceColumn;
|
||||
import com.sap.sailing.domain.persistence.DomainObjectFactory;
|
||||
import com.sap.sailing.domain.persistence.MongoFactory;
|
||||
import com.sap.sailing.domain.persistence.MongoObjectFactory;
|
||||
@@ -69,11 +74,53 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest
|
||||
DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService());
|
||||
Regatta loadedRegatta = dof.loadRegatta(regatta.getName());
|
||||
assertEquals(regattaBaseName, loadedRegatta.getBaseName());
|
||||
Iterator<? extends Series> seriesIter = loadedRegatta.getSeries().iterator();
|
||||
Series loadedQualifyingSeries = seriesIter.next();
|
||||
assertFalse(loadedQualifyingSeries.isFleetsOrdered());
|
||||
assertEquals(numberOfQualifyingRaces, Util.size(loadedQualifyingSeries.getRaceColumns()));
|
||||
Series loadedFinalSeries = seriesIter.next();
|
||||
assertTrue(loadedFinalSeries.isFleetsOrdered());
|
||||
assertEquals(numberOfFinalRaces, Util.size(loadedFinalSeries.getRaceColumns()));
|
||||
Series loadedMedalSeries = seriesIter.next();
|
||||
assertEquals(1, Util.size(loadedMedalSeries.getRaceColumns()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLoadStoreRegattaWithFleetsEnsuringIdenticalFleetsInSeriesAndRaceColumns() {
|
||||
final int numberOfQualifyingRaces = 5;
|
||||
final int numberOfFinalRaces = 7;
|
||||
final String regattaBaseName = "Kieler Woche";
|
||||
BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true);
|
||||
Regatta regatta = createRegatta(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass);
|
||||
MongoObjectFactory mof = MongoFactory.INSTANCE.getMongoObjectFactory(getMongoService());
|
||||
mof.storeRegatta(regatta);
|
||||
|
||||
DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService());
|
||||
Regatta loadedRegatta = dof.loadRegatta(regatta.getName());
|
||||
assertEquals(regattaBaseName, loadedRegatta.getBaseName());
|
||||
Iterator<? extends Series> seriesIter = loadedRegatta.getSeries().iterator();
|
||||
Series loadedQualifyingSeries = seriesIter.next();
|
||||
int i=1;
|
||||
for (RaceColumn raceColumn : loadedQualifyingSeries.getRaceColumns()) {
|
||||
assertTrue(raceColumn instanceof RaceColumnInSeries);
|
||||
assertEquals("Q"+i, raceColumn.getName());
|
||||
assertTrue(Util.equals(loadedQualifyingSeries.getFleets(), raceColumn.getFleets()));
|
||||
i++;
|
||||
}
|
||||
Series loadedFinalSeries = seriesIter.next();
|
||||
i=1;
|
||||
for (RaceColumn raceColumn : loadedFinalSeries.getRaceColumns()) {
|
||||
assertTrue(raceColumn instanceof RaceColumnInSeries);
|
||||
assertEquals("F"+i, raceColumn.getName());
|
||||
assertTrue(Util.equals(loadedFinalSeries.getFleets(), raceColumn.getFleets()));
|
||||
i++;
|
||||
}
|
||||
Series loadedMedalSeries = seriesIter.next();
|
||||
for (RaceColumn raceColumn : loadedMedalSeries.getRaceColumns()) {
|
||||
assertTrue(raceColumn instanceof RaceColumnInSeries);
|
||||
assertEquals("M", raceColumn.getName());
|
||||
assertTrue(Util.equals(loadedMedalSeries.getFleets(), raceColumn.getFleets()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -108,9 +155,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest
|
||||
List<Fleet> medalFleets = new ArrayList<Fleet>();
|
||||
medalFleets.add(new FleetImpl("Medal"));
|
||||
List<String> medalRaceColumnNames = new ArrayList<String>();
|
||||
for (int i=1; i<=numberOfFinalRaces; i++) {
|
||||
medalRaceColumnNames.add("M");
|
||||
}
|
||||
medalRaceColumnNames.add("M");
|
||||
Series medalSeries = new SeriesImpl("Medal", /* isFleetsOrdered */ true, /* isMedal */ true, medalFleets, medalRaceColumnNames);
|
||||
series.add(medalSeries);
|
||||
|
||||
|
||||
Reference in new issue
Block a user