mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-25 21:43:49 +00:00
fixed bug 1260; testTotalRankComparatorForOrderedSplitFleetsWhoseOrderingDoesNotPersist is green
This commit is contained in:
1 parent
29a804c8d3
commit
4f014fd92e
2 files changed
+13
-3
No files matched your search
+1
-1
@@ -1173,7 +1173,7 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest {
|
|||||||
double scoreInFinalRace = 10.0;
|
double scoreInFinalRace = 10.0;
|
||||||
for (Competitor rankedCompetitor : leaderboard.getCompetitorsFromBestToWorst(f1Column, later)) {
|
for (Competitor rankedCompetitor : leaderboard.getCompetitorsFromBestToWorst(f1Column, later)) {
|
||||||
assertEquals(scoreInFinalRace, leaderboard.getTotalPoints(rankedCompetitor, f1Column, later), 0.000001);
|
assertEquals(scoreInFinalRace, leaderboard.getTotalPoints(rankedCompetitor, f1Column, later), 0.000001);
|
||||||
scoreInFinalRace = Math.max(scoreInFinalRace-1, 0);
|
scoreInFinalRace = Math.max(scoreInFinalRace-1, 1);
|
||||||
}
|
}
|
||||||
double lastScore = Double.MAX_VALUE;
|
double lastScore = Double.MAX_VALUE;
|
||||||
// assert that only the points matter for ranking; not the fleet assignment
|
// assert that only the points matter for ranking; not the fleet assignment
|
||||||
|
|||||||
+12
-2
@@ -26,11 +26,21 @@ public abstract class HighPointFirstGetsFixedScore extends HighPoint {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double getScoreForRank(RaceColumn raceColumn, Competitor competitor, int rank, Callable<Integer> numberOfCompetitorsInRaceFetcher, NumberOfCompetitorsInLeaderboardFetcher numberOfCompetitorsInLeaderboardFetcher) {
|
public Double getScoreForRank(RaceColumn raceColumn, Competitor competitor, int rank, Callable<Integer> numberOfCompetitorsInRaceFetcher, NumberOfCompetitorsInLeaderboardFetcher numberOfCompetitorsInLeaderboardFetcher) {
|
||||||
Double result;
|
final int effectiveRank;
|
||||||
|
final Double result;
|
||||||
|
int competitorFleetOrdering;
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
|
effectiveRank = 0;
|
||||||
|
} else if (raceColumn.hasSplitFleetContiguousScoring() && (competitorFleetOrdering=raceColumn.getFleetOfCompetitor(competitor).getOrdering()) != 0) {
|
||||||
|
int numberOfCompetitorsInBetterFleets = getNumberOfCompetitorsInBetterFleets(raceColumn, competitorFleetOrdering);
|
||||||
|
effectiveRank = rank + numberOfCompetitorsInBetterFleets;
|
||||||
|
} else {
|
||||||
|
effectiveRank = rank;
|
||||||
|
}
|
||||||
|
if (effectiveRank == 0) {
|
||||||
result = null;
|
result = null;
|
||||||
} else {
|
} else {
|
||||||
result = Math.max(1.0, (double) (scoreForRaceWinner - rank + 1));
|
result = Math.max(1.0, (double) (scoreForRaceWinner - effectiveRank + 1));
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user