Merge remote-tracking branch 'origin/master' into bug4469

Conflicts:
	java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java
This commit is contained in:
Robin Kuck
2019-01-05 14:30:00 +01:00
634 changed files with 82835 additions and 2768 deletions
@@ -27,5 +27,6 @@ Require-Bundle: com.sap.sailing.domain,
Import-Package: com.sap.sailing.server.gateway.jaxrs,
com.sap.sailing.server.gateway.jaxrs.spi,
com.sap.sse.security.userstore.mongodb,
com.sun.istack;version="3.0.7",
javax.ws.rs.core;version="1.1.1",
org.json.simple
@@ -2,13 +2,12 @@ package com.sap.sailing.server.anniversary;
import java.util.Arrays;
import org.junit.Assert;
import org.junit.Test;
import com.sap.sailing.domain.common.dto.AnniversaryType;
import com.sap.sailing.server.anniversary.AnniversaryRaceDeterminator.AnniversaryChecker;
import com.sap.sailing.server.anniversary.checker.QuarterChecker;
import junit.framework.Assert;
import com.sap.sailing.server.interfaces.AnniversaryRaceDeterminator.AnniversaryChecker;
public class AnniversaryQuarterCheckerTest {
@@ -2,13 +2,12 @@ package com.sap.sailing.server.anniversary;
import java.util.Arrays;
import org.junit.Assert;
import org.junit.Test;
import com.sap.sailing.domain.common.dto.AnniversaryType;
import com.sap.sailing.server.anniversary.AnniversaryRaceDeterminator.AnniversaryChecker;
import com.sap.sailing.server.anniversary.checker.SameDigitChecker;
import junit.framework.Assert;
import com.sap.sailing.server.interfaces.AnniversaryRaceDeterminator.AnniversaryChecker;
public class AnniversarySameDigitCheckerTest {
@@ -34,7 +34,7 @@ import com.sap.sailing.domain.persistence.impl.MongoObjectFactoryImpl;
import com.sap.sailing.domain.persistence.media.MediaDB;
import com.sap.sailing.domain.racelog.tracking.SensorFixStore;
import com.sap.sailing.domain.tracking.WindStore;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sse.common.Util;
import com.sap.sse.common.impl.MillisecondsDurationImpl;
import com.sap.sse.common.impl.MillisecondsTimePoint;
@@ -1,5 +1,11 @@
package com.sap.sailing.server.impl;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -20,9 +26,6 @@ import com.sap.sse.common.impl.MillisecondsTimePoint;
import com.sap.sse.common.impl.TimeRangeImpl;
import com.sap.sse.common.media.MimeType;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
public class MediaLibaryTest {
@@ -1,7 +1,7 @@
package com.sap.sailing.server.statistics;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import java.util.ArrayList;
@@ -38,8 +38,8 @@ import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.test.LeaderboardScoringAndRankingTestBase;
import com.sap.sailing.domain.test.mock.MockedTrackedRaceWithStartTimeAndRanks;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sse.common.Color;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.impl.MillisecondsTimePoint;
@@ -6,8 +6,7 @@ import java.io.ObjectOutputStream;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import junit.framework.Assert;
import org.junit.Assert;
import org.junit.Test;
import com.sap.sailing.domain.common.RegattaNameAndRaceName;
@@ -21,8 +21,8 @@ import com.sap.sailing.domain.leaderboard.impl.ThresholdBasedResultDiscardingRul
import com.sap.sailing.domain.test.AbstractLeaderboardTest;
import com.sap.sailing.domain.test.mock.MockedTrackedRaceWithFixedRank;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
import com.sap.sse.common.impl.MillisecondsTimePoint;
@@ -4,13 +4,12 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import org.junit.Test;
import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.impl.DynamicPerson;
import com.sap.sailing.domain.base.impl.DynamicTeam;
@@ -19,8 +18,8 @@ import com.sap.sailing.domain.base.impl.PersonImpl;
import com.sap.sailing.domain.base.impl.TeamImpl;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.impl.LowPoint;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sse.mongodb.MongoDBService;
import junit.framework.TestCase;
@@ -65,15 +64,15 @@ public class LeaderboardStorageTest extends TestCase {
service.getMongoObjectFactory().storeLeaderboard(leaderboard);
// Test in db
DBCollection leaderboardCollection = MongoDBService.INSTANCE.getDB().getCollection("LEADERBOARDS");
MongoCollection<Document> leaderboardCollection = MongoDBService.INSTANCE.getDB().getCollection("LEADERBOARDS");
BasicDBObject query = new BasicDBObject();
query.put("LEADERBOARD_NAME", LEADERBOARD_NAME);
DBCursor leaderboardObjectCursor = leaderboardCollection.find();
DBObject dbLeaderboard = leaderboardObjectCursor.next();
BasicDBList carriedPointsById = (BasicDBList) dbLeaderboard.get("LEADERBOARD_CARRIED_POINTS_BY_ID");
FindIterable<Document> leaderboardObjectCursor = leaderboardCollection.find();
Document dbLeaderboard = leaderboardObjectCursor.iterator().next();
Iterable<?> carriedPointsById = (Iterable<?>) dbLeaderboard.get("LEADERBOARD_CARRIED_POINTS_BY_ID");
if (carriedPointsById != null) {
for (Object o : carriedPointsById) {
DBObject competitorIdAndCarriedPoints = (DBObject) o;
Document competitorIdAndCarriedPoints = (Document) o;
Serializable competitorIdFromDB = (Serializable) competitorIdAndCarriedPoints.get("COMPETITOR_ID");
Double carriedPointsForCompetitor = ((Number) competitorIdAndCarriedPoints
.get("LEADERBOARD_CARRIED_POINTS")).doubleValue();
@@ -31,10 +31,10 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.mongodb.DB;
import com.mongodb.WriteConcern;
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl;
@@ -122,15 +122,15 @@ import com.sap.sailing.domain.racelog.tracking.test.mock.MockSmartphoneImeiServi
import com.sap.sailing.domain.racelog.tracking.test.mock.SmartphoneImeiIdentifier;
import com.sap.sailing.domain.ranking.OneDesignRankingMetric;
import com.sap.sailing.domain.test.TrackBasedTest;
import com.sap.sailing.domain.tracking.DummyTrackedRace;
import com.sap.sailing.domain.tracking.DynamicTrackedRegatta;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.WindTrack;
import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.gateway.jaxrs.AbstractSailingServerResource;
import com.sap.sailing.server.gateway.jaxrs.spi.MasterDataResource;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.masterdata.DummyTrackedRace;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sailing.server.masterdata.MasterDataImporter;
import com.sap.sailing.server.testsupport.RacingEventServiceImplMock;
import com.sap.sse.common.Color;
@@ -146,8 +146,6 @@ import com.sap.sse.mongodb.MongoDBService;
import com.sap.sse.shared.media.ImageDescriptor;
import com.sap.sse.shared.media.VideoDescriptor;
import junit.framework.Assert;
public class MasterDataImportTest {
private static final String TEST_GROUP_NAME = "testGroup";
@@ -189,8 +187,7 @@ public class MasterDataImportTest {
private void deleteAllDataFromDatabase() {
MongoDBService service = MongoDBConfiguration.getDefaultTestConfiguration().getService();
service.getDB().getWriteConcern().fsync();
service.getDB().dropDatabase();
service.getDB().withWriteConcern(WriteConcern.JOURNALED).drop();
}
private Map<Competitor, Boat> createCompetitorsAndBoatsMap(BoatClass boatClass, Iterable<Competitor> competitors) {
@@ -365,8 +362,6 @@ public class MasterDataImportTest {
// Import in new service
destService = new RacingEventServiceImplMock(new DataImportProgressImpl(randomUUID), serviceFinderFactory){};
domainFactory = destService.getBaseDomainFactory();
DB db = destService.getMongoObjectFactory().getDatabase();
db.setWriteConcern(WriteConcern.SAFE);
inputStream = new ByteArrayInputStream(os.toByteArray());
MasterDataImporter importer = new MasterDataImporter(domainFactory, destService);
importer.importFromStream(inputStream, randomUUID, false);
@@ -411,7 +406,7 @@ public class MasterDataImportTest {
raceColumnOnTarget.setTrackedRace(fleet1OnTarget, trackedRaceForTarget);
Assert.assertEquals(factor, leaderboard.getScoringScheme().getScoreFactor(raceColumnOnTarget));
Assert.assertEquals(factor, leaderboard.getScoringScheme().getScoreFactor(raceColumnOnTarget), 0.000001);
Iterable<Competitor> competitorsOnTarget = leaderboardOnTarget.getAllCompetitors();
Iterator<Competitor> competitorIterator = competitorsOnTarget.iterator();
@@ -422,12 +417,12 @@ public class MasterDataImportTest {
Assert.assertEquals(
scoreCorrection,
leaderboardOnTarget.getScoreCorrection().getExplicitScoreCorrection(competitorOnTarget,
raceColumnOnTarget));
raceColumnOnTarget), 0.0000001);
Assert.assertEquals(maxPointsReason, leaderboardOnTarget.getScoreCorrection()
.getMaxPointsReason(competitorOnTarget, raceColumnOnTarget, MillisecondsTimePoint.now()));
// Check for carried points
Assert.assertEquals(carriedPoints, leaderboardOnTarget.getCarriedPoints(competitorOnTarget));
Assert.assertEquals(carriedPoints, leaderboardOnTarget.getCarriedPoints(competitorOnTarget), 0.0000001);
// Check for suppressed competitor
Assert.assertTrue(leaderboardOnTarget.getSuppressedCompetitors().iterator().hasNext());
@@ -676,7 +671,7 @@ public class MasterDataImportTest {
Assert.assertEquals(
scoreCorrection,
leaderboardOnTarget.getScoreCorrection().getExplicitScoreCorrection(competitorOnTarget,
raceColumnOnTarget));
raceColumnOnTarget), 0.0000001);
Assert.assertEquals(
maxPointsReason,
leaderboardOnTarget.getScoreCorrection().getMaxPointsReason(competitorOnTarget, raceColumnOnTarget,
@@ -2091,7 +2086,7 @@ public class MasterDataImportTest {
RaceColumn metaColumn = metaColumns.iterator().next();
Assert.assertNotNull(metaColumn);
Assert.assertEquals(factor, overallLeaderboard.getScoringScheme().getScoreFactor(metaColumn));
Assert.assertEquals(factor, overallLeaderboard.getScoringScheme().getScoreFactor(metaColumn), 0.0000001);
// Verify that overall leaderboard data has been persisted
RacingEventService persistenceVerifier = new RacingEventServiceImplMock(){};
@@ -2113,7 +2108,7 @@ public class MasterDataImportTest {
metaColumn = metaColumns.iterator().next();
Assert.assertNotNull(metaColumn);
Assert.assertEquals(factor, overallLeaderboard.getScoringScheme().getScoreFactor(metaColumn));
Assert.assertEquals(factor, overallLeaderboard.getScoringScheme().getScoreFactor(metaColumn), 0.0000001);
}
@@ -2287,18 +2282,18 @@ public class MasterDataImportTest {
raceColumnOnTarget.setTrackedRace(defaultFleetOnTarget, trackedRaceForTarget);
Assert.assertEquals(factor, leaderboardOnTarget.getScoringScheme().getScoreFactor(raceColumnOnTarget));
Assert.assertEquals(factor, leaderboardOnTarget.getScoringScheme().getScoreFactor(raceColumnOnTarget), 0.0000001);
// Check for score corrections
Assert.assertEquals(
scoreCorrection,
leaderboardOnTarget.getScoreCorrection().getExplicitScoreCorrection(competitorOnTarget,
raceColumnOnTarget));
raceColumnOnTarget), 0.0000001);
Assert.assertEquals(maxPointsReason, leaderboardOnTarget.getScoreCorrection()
.getMaxPointsReason(competitorOnTarget, raceColumnOnTarget, MillisecondsTimePoint.now()));
// Check for carried points
Assert.assertEquals(carriedPoints, leaderboardOnTarget.getCarriedPoints(competitorOnTarget));
Assert.assertEquals(carriedPoints, leaderboardOnTarget.getCarriedPoints(competitorOnTarget), 0.0000001);
// Check for suppressed competitor
Assert.assertTrue(leaderboardOnTarget.getSuppressedCompetitors().iterator().hasNext());
@@ -13,9 +13,9 @@ import com.sap.sailing.domain.base.RaceColumn;
import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.impl.LowPoint;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.RacingEventServiceOperation;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sailing.server.interfaces.RacingEventServiceOperation;
import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard;
import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard;
import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnUp;
@@ -37,7 +37,7 @@ public class OperationalTransformationTest {
@Before
public void setUp() {
// ensure that leaderboards will be loaded from and stored to the test database which is
MongoDBService.INSTANCE.getDB().dropDatabase();
MongoDBService.INSTANCE.getDB().drop();
racingEventServiceServer = new RacingEventServiceImpl();
racingEventServiceReplica = new RacingEventServiceImpl();
OperationalTransformer<RacingEventService, RacingEventServiceOperation<?>> transformer = new OperationalTransformer<>();
@@ -8,6 +8,7 @@ import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -67,8 +68,6 @@ import com.sap.sse.common.impl.DegreeBearingImpl;
import com.sap.sse.common.impl.MillisecondsTimePoint;
import com.sap.sse.mongodb.MongoDBService;
import junit.framework.Assert;
public class RaceColumnReloadTest {
private MongoRaceLogStoreVisitor mongoStoreVisitor;
@@ -80,7 +79,7 @@ public class RaceColumnReloadTest {
@Before
public void setUp() {
MongoDBService.INSTANCE.getDB().dropDatabase();
MongoDBService.INSTANCE.getDB().drop();
final RacingEventServiceImpl service = new RacingEventServiceImpl();
// FIXME use master DomainFactory; see bug 592
final DomainFactory masterDomainFactory = service.getBaseDomainFactory();
@@ -221,7 +220,6 @@ public class RaceColumnReloadTest {
}
private class WindFixLoggingRaceLogVisitor extends BaseRaceLogEventVisitor {
private final Set<Wind> loggedWindFixes = ConcurrentHashMap.newKeySet();
private WindFixLoggingRaceLogVisitor(RaceLog raceLog) {
@@ -16,9 +16,9 @@ import com.sap.sailing.domain.common.racelog.Flags;
import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.impl.LowPoint;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.RacingEventServiceOperation;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sailing.server.interfaces.RacingEventServiceOperation;
import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard;
import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard;
import com.sap.sse.common.TimePoint;
@@ -40,7 +40,7 @@ public class RaceLogInRaceColumnTest {
@Before
public void setUp() {
MongoDBService.INSTANCE.getDB().dropDatabase();
MongoDBService.INSTANCE.getDB().drop();
racingEventServiceServer = new RacingEventServiceImpl();
OperationalTransformer<RacingEventService, RacingEventServiceOperation<?>> transformer = new OperationalTransformer<>();
server = new PeerImpl<>(transformer, racingEventServiceServer, Role.SERVER);
@@ -42,7 +42,7 @@ import com.sap.sailing.domain.tracking.RaceTracker;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.TrackedRegatta;
import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sailing.server.testsupport.RacingEventServiceImplMock;
import com.sap.sse.common.Util;
@@ -23,8 +23,8 @@ import com.sap.sailing.domain.common.RegattaName;
import com.sap.sailing.domain.common.ScoringSchemeType;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sailing.server.operationaltransformation.AddLeaderboardGroupToEvent;
import com.sap.sailing.server.operationaltransformation.CreateEvent;
import com.sap.sailing.server.operationaltransformation.CreateLeaderboardGroup;
@@ -17,8 +17,11 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.subject.support.SubjectThreadState;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import com.sap.sailing.domain.base.CompetitorWithBoat;
import com.sap.sailing.domain.base.DomainFactory;
@@ -45,7 +48,6 @@ import com.sap.sailing.domain.leaderboard.impl.LowPoint;
import com.sap.sailing.domain.test.AbstractTracTracLiveTest;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
import com.sap.sailing.server.gateway.deserialization.impl.CourseAreaJsonDeserializer;
import com.sap.sailing.server.gateway.deserialization.impl.EventBaseJsonDeserializer;
@@ -58,6 +60,7 @@ import com.sap.sailing.server.gateway.serialization.impl.LeaderboardGroupBaseJso
import com.sap.sailing.server.gateway.serialization.impl.LeaderboardSearchResultJsonSerializer;
import com.sap.sailing.server.gateway.serialization.impl.VenueJsonSerializer;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sailing.server.operationaltransformation.AddColumnToSeries;
import com.sap.sailing.server.operationaltransformation.AddLeaderboardGroupToEvent;
import com.sap.sailing.server.operationaltransformation.AddRaceDefinition;
@@ -103,6 +106,11 @@ public class SearchServiceTest {
@Before
public void setUp() {
// setup the Shiro SubjectThreadState to ensure that the tagging service can check whether a subject is logged in
final Subject subject = Mockito.mock(Subject.class);
final SubjectThreadState threadState = new SubjectThreadState(subject);
threadState.bind();
server = new RacingEventServiceImpl();
List<Event> allEvents = new ArrayList<>();
Util.addAll(server.getAllEvents(), allEvents);
@@ -29,13 +29,13 @@ import com.sap.sailing.domain.common.tagging.RaceLogNotFoundException;
import com.sap.sailing.domain.common.tagging.TagAlreadyExistsException;
import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard;
import com.sap.sailing.domain.leaderboard.impl.LowPoint;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.RacingEventServiceOperation;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sailing.server.interfaces.RacingEventServiceOperation;
import com.sap.sailing.server.interfaces.TaggingService;
import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard;
import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard;
import com.sap.sailing.server.tagging.TagDTODeSerializer;
import com.sap.sailing.server.tagging.TaggingService;
import com.sap.sailing.server.tagging.TaggingServiceImpl;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.impl.MillisecondsTimePoint;
@@ -78,7 +78,7 @@ public class TaggingServiceTest {
@BeforeClass
public static void setUpClass()
throws MalformedURLException, IOException, InterruptedException, UserManagementException, MailException {
MongoDBService.INSTANCE.getDB().dropDatabase();
MongoDBService.INSTANCE.getDB().drop();
// setup racing service and racelog
racingService = new RacingEventServiceImpl();
RacingEventServiceOperation<FlexibleLeaderboard> addLeaderboardOp = new CreateFlexibleLeaderboard(
@@ -119,7 +119,7 @@ public class TaggingServiceTest {
} catch (UserManagementException e) {
logger.severe("Could not teardown TaggingServiceTest!");
}
MongoDBService.INSTANCE.getDB().dropDatabase();
MongoDBService.INSTANCE.getDB().drop();
}
@Before
@@ -49,8 +49,8 @@ import com.sap.sailing.domain.test.PositionAssert;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tracking.WindTrack;
import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.impl.RacingEventServiceImpl;
import com.sap.sailing.server.interfaces.RacingEventService;
import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard;
import com.sap.sailing.server.operationaltransformation.AddDefaultRegatta;
import com.sap.sailing.server.operationaltransformation.AddRaceDefinition;
@@ -1,11 +1,10 @@
package com.sap.sailing.server.util;
import org.junit.Assert;
import org.junit.Test;
import com.sap.sailing.domain.common.sharding.ShardingType;
import junit.framework.Assert;
public class ShardingLeaderBoardEncodingTest {
@Test
public void testEncoding() {