fixed two more tests

This commit is contained in:
fmittag
2016-08-30 14:29:57 +02:00
parent 0aa188cf5f
commit ede3d5707e
2 changed files with 18 additions and 18 deletions
@@ -79,7 +79,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest {
final int[] discardIndexResultsStartingWithHowManyRaces = new int[] { 5, 8 };
FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ThresholdBasedResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces),
new LowPoint(), null);
CompetitorWithBoat wolfgang = createCompetitorAndBoat();
CompetitorWithBoat wolfgangWithBoat = createCompetitorAndBoat();
Competitor hasso = new CompetitorImpl(234, "Hasso Plattner", "KYC", Color.RED, null, null,
new TeamImpl("STG", Collections.singleton(
new PersonImpl("Hasso Plattner", new NationalityImpl("GER"),
@@ -88,18 +88,18 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest {
Boat hassosBoat = new BoatImpl("123", "Dr. Hasso Plattner's boat", new BoatClassImpl("505", /* typicallyStartsUpwind */ true), null);
CompetitorWithBoat hassoWithBoat = new CompetitorWithBoatImpl(hasso, hassosBoat);
final String raceColumnName1 = "My First Race 1";
MockedTrackedRaceWithFixedRankAndManyCompetitors raceWithTwoCompetitors = new MockedTrackedRaceWithFixedRankAndManyCompetitors(wolfgang, /* rank */ 1, /* started */ true);
MockedTrackedRaceWithFixedRankAndManyCompetitors raceWithTwoCompetitors = new MockedTrackedRaceWithFixedRankAndManyCompetitors(wolfgangWithBoat, /* rank */ 1, /* started */ true);
raceWithTwoCompetitors.addCompetitorAndBoat(hassoWithBoat);
leaderboard.addRace(raceWithTwoCompetitors, raceColumnName1, /* medalRace */ false);
leaderboard.setSuppressed(wolfgang.getCompetitor(), true);
assertTrue(Util.contains(leaderboard.getSuppressedCompetitors(), wolfgang));
leaderboard.setSuppressed(wolfgangWithBoat.getCompetitor(), true);
assertTrue(Util.contains(leaderboard.getSuppressedCompetitors(), wolfgangWithBoat.getCompetitor()));
assertFalse(Util.contains(leaderboard.getSuppressedCompetitors(), hasso));
new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard);
Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db, DomainFactory.INSTANCE).loadLeaderboard(leaderboardName, /* regattaRegistry */ null);
MockedTrackedRaceWithFixedRankAndManyCompetitors raceWithTwoCompetitors2 = new MockedTrackedRaceWithFixedRankAndManyCompetitors(wolfgang, /* rank */ 1, /* started */ true);
MockedTrackedRaceWithFixedRankAndManyCompetitors raceWithTwoCompetitors2 = new MockedTrackedRaceWithFixedRankAndManyCompetitors(wolfgangWithBoat, /* rank */ 1, /* started */ true);
raceWithTwoCompetitors2.addCompetitorAndBoat(hassoWithBoat);
loadedLeaderboard.getRaceColumnByName(raceColumnName1).setTrackedRace(loadedLeaderboard.getFleet(null), raceWithTwoCompetitors2);
assertTrue(Util.contains(loadedLeaderboard.getSuppressedCompetitors(), wolfgang));
assertTrue(Util.contains(loadedLeaderboard.getSuppressedCompetitors(), wolfgangWithBoat.getCompetitor()));
assertFalse(Util.contains(loadedLeaderboard.getSuppressedCompetitors(), hasso));
}
@@ -184,7 +184,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest {
assertTrue(Arrays.equals(discardIndexResultsStartingWithHowManyRaces,
((ThresholdBasedResultDiscardingRule) loadedLeaderboard.getResultDiscardingRule()).getDiscardIndexResultsStartingWithHowManyRaces()));
assertEquals(1, Util.size(loadedLeaderboard.getCompetitors()));
assertEquals(competitorWithBoat, loadedLeaderboard.getCompetitors().iterator().next());
assertEquals(competitorWithBoat.getCompetitor(), loadedLeaderboard.getCompetitors().iterator().next());
assertEquals(carriedPointsForWolfgangHunger, loadedLeaderboard.getCarriedPoints(competitorWithBoat.getCompetitor()), 0.000000001);
}
@@ -79,8 +79,8 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer
// resolved properly on the replica.
final DomainFactory domainFactory = new DomainFactoryImpl((srlid)->null);
BoatClass boatClass = domainFactory.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true);
CompetitorWithBoat hasso = AbstractLeaderboardTest.createCompetitorAndBoat("Dr. Hasso Plattner"); // don't create competitor using CompetitorStore
final DynamicTrackedRace q2YellowTrackedRace = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 1, /* started */ false, boatClass) {
CompetitorWithBoat hassoWithBoat = AbstractLeaderboardTest.createCompetitorAndBoat("Dr. Hasso Plattner"); // don't create competitor using CompetitorStore
final DynamicTrackedRace q2YellowTrackedRace = new MockedTrackedRaceWithFixedRank(hassoWithBoat, /* rank */ 1, /* started */ false, boatClass) {
private static final long serialVersionUID = 1234L;
@Override
public RegattaAndRaceIdentifier getRaceIdentifier() {
@@ -98,9 +98,9 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer
master.apply(new AddColumnToLeaderboard(Q2, leaderboardName, /* medalRace */ false)); // uses leaderboard's default fleet
master.apply(new ConnectTrackedRaceToLeaderboardColumn(masterLeaderboard.getName(), Q2, /* default fleet */
masterLeaderboard.getFleet(null).getName(), q2YellowTrackedRace.getRaceIdentifier()));
master.apply(new UpdateLeaderboardMaxPointsReason(masterLeaderboard.getName(), Q2, hasso.getCompetitor().getId().toString(),
master.apply(new UpdateLeaderboardMaxPointsReason(masterLeaderboard.getName(), Q2, hassoWithBoat.getCompetitor().getId().toString(),
MaxPointsReason.DNF, MillisecondsTimePoint.now()));
assertEquals(MaxPointsReason.DNF, masterLeaderboard.getMaxPointsReason(hasso.getCompetitor(),
assertEquals(MaxPointsReason.DNF, masterLeaderboard.getMaxPointsReason(hassoWithBoat.getCompetitor(),
masterLeaderboard.getRaceColumnByName(Q2), MillisecondsTimePoint.now()));
// re-load new master from persistence
@@ -112,7 +112,7 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer
// expecting the correction to not be in the leaderboard because the competitor was not found in the
// domain factory's competitor store while loading and therefore the score correction could not immediately
// be applied to the leaderboard's real score correction
assertEquals(MaxPointsReason.NONE, masterLeaderboardReloaded.getMaxPointsReason(hasso.getCompetitor(),
assertEquals(MaxPointsReason.NONE, masterLeaderboardReloaded.getMaxPointsReason(hassoWithBoat.getCompetitor(),
masterLeaderboardReloaded.getRaceColumnByName(Q2), MillisecondsTimePoint.now()));
// replicate the re-loaded environment
@@ -130,10 +130,10 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer
assertNotNull(replicaLeaderboard.getRaceColumnByName(Q2));
// so far, the replica should also only have the delayed corrections since during deserializing them the
// replicatedHasso competitor was not yet known to the replica's competitor store:
assertEquals(MaxPointsReason.NONE, replicaLeaderboard.getMaxPointsReason(hasso.getCompetitor(),
assertEquals(MaxPointsReason.NONE, replicaLeaderboard.getMaxPointsReason(hassoWithBoat.getCompetitor(),
replicaLeaderboard.getRaceColumnByName(Q2), MillisecondsTimePoint.now()));
logger.info("hasso object ID hash: "+System.identityHashCode(hasso));
logger.info("hasso object ID hash: "+System.identityHashCode(hassoWithBoat));
Leaderboard newMasterLeaderboard = master.getLeaderboardByName(masterLeaderboard.getName());
SettableScoreCorrection newMasterScoreCorrections = newMasterLeaderboard.getScoreCorrection();
RaceColumn newMasterQ2 = newMasterLeaderboard.getRaceColumnByName(Q2);
@@ -151,13 +151,13 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer
master.apply(new ConnectTrackedRaceToLeaderboardColumn(masterLeaderboard.getName(), Q2, /* default fleet */
masterLeaderboard.getFleet(null).getName(), q2YellowTrackedRace.getRaceIdentifier()));
logger.info("got score correction for competitor "+System.identityHashCode(newMasterScoreCorrections.getCompetitorsThatHaveCorrectionsIn(newMasterQ2).iterator().next()));
assertTrue(Util.contains(newMasterScoreCorrections.getCompetitorsThatHaveCorrectionsIn(newMasterQ2), hasso)); // now score corrections must have been applied from Delayed...
assertTrue(Util.contains(newMasterScoreCorrections.getCompetitorsThatHaveCorrectionsIn(newMasterQ2), hassoWithBoat.getCompetitor())); // now score corrections must have been applied from Delayed...
// now the delayed corrections are expected to have been resolved:
assertEquals(MaxPointsReason.DNF, master.getLeaderboardByName(leaderboardName).getMaxPointsReason(hasso.getCompetitor(),
assertEquals(MaxPointsReason.DNF, master.getLeaderboardByName(leaderboardName).getMaxPointsReason(hassoWithBoat.getCompetitor(),
master.getLeaderboardByName(leaderboardName).getRaceColumnByName(Q2), MillisecondsTimePoint.now()));
Thread.sleep(1000); // wait for the tracked race to column connection to be replicated
assertNotNull(replicaLeaderboard.getRaceColumnByName(Q2).getTrackedRace(hasso.getCompetitor()));
assertEquals(MaxPointsReason.DNF, replicaLeaderboard.getMaxPointsReason(hasso.getCompetitor(),
assertNotNull(replicaLeaderboard.getRaceColumnByName(Q2).getTrackedRace(hassoWithBoat.getCompetitor()));
assertEquals(MaxPointsReason.DNF, replicaLeaderboard.getMaxPointsReason(hassoWithBoat.getCompetitor(),
replicaLeaderboard.getRaceColumnByName(Q2), MillisecondsTimePoint.now()));
}