Add test on Swiss pairings (currently failing)

This commit is contained in:
Quentin Rendu
2023-09-25 10:45:27 +02:00
parent 958df36e24
commit 9bddd90833
2 changed files with 106 additions and 5 deletions

View File

@@ -208,20 +208,52 @@ class BasicTests: TestBase() {
@Test
fun `008 simple swiss tournament`() {
var file = getTestFile("opengotha/simpleswiss.xml")
println(file)
// read tournament without pairings
var file_np = getTestFile("opengotha/simpleswiss_nopairings.xml")
logger.info("read from file $file_np")
val resource_np = file_np.readText(StandardCharsets.UTF_8)
val resp_np = TestAPI.post("/api/tour", resource_np)
val id_np = resp_np.asObject().getInt("id")
assertNotNull(id_np)
val tournament_np = TestAPI.get("/api/tour/$id_np").asObject()
logger.info(tournament_np.toString().slice(0..50) + "...")
val players_np = TestAPI.get("/api/tour/$id_np/part").asArray()
logger.info(players_np.toString().slice(0..50) + "...")
var games_np = TestAPI.post("/api/tour/$id_np/pair/1", Json.Array("all")).asArray()
logger.info("games for round 1: {}", games_np.toString())
val pairings_R1 = """[{"id":283,"w":195,"b":201,"h":0,"r":"?","dd":0},
|{"id":284,"w":186,"b":184,"h":0,"r":"?","dd":0},{"id":285,"w":200,"b":194,"h":0,"r":"?","dd":0},
|{"id":286,"w":179,"b":187,"h":0,"r":"?","dd":0},{"id":287,"w":203,"b":178,"h":0,"r":"?","dd":0},
|{"id":288,"w":183,"b":174,"h":0,"r":"?","dd":0},{"id":289,"w":177,"b":176,"h":0,"r":"?","dd":0},
|{"id":290,"w":199,"b":182,"h":0,"r":"?","dd":0},{"id":291,"w":185,"b":180,"h":0,"r":"?","dd":0},
|{"id":292,"w":172,"b":202,"h":0,"r":"?","dd":0},{"id":293,"w":173,"b":175,"h":0,"r":"?","dd":0},
|{"id":294,"w":196,"b":191,"h":0,"r":"?","dd":0},{"id":295,"w":181,"b":190,"h":0,"r":"?","dd":0},
|{"id":296,"w":192,"b":188,"h":0,"r":"?","dd":0},{"id":297,"w":197,"b":193,"h":0,"r":"?","dd":0},
|{"id":298,"w":198,"b":189,"h":0,"r":"?","dd":0}]""".trimMargin()
// val games = TestAPI.get("/api/tour/$id/res/1").asArray()
assertEquals(pairings_R1, games_np.toString(), "pairings for round 1 differ")
/* // read tournament with pairing
var file = getTestFile("opengotha/simpleswiss.xml")
logger.info("read from file $file")
val resource = file.readText(StandardCharsets.UTF_8)
val resp = TestAPI.post("/api/tour", resource)
val id = resp.asObject().getInt("id")
val tournament = TestAPI.get("/api/tour/$id").asObject()
logger.info(tournament.toString().slice(0..50) + "...")
val players = TestAPI.get("/api/tour/$id/part").asArray()
logger.info(players.toString().slice(0..50) + "...")
//logger.info(players.toString().slice(0..50) + "...")
logger.info(players.toString())
for (round in 1..tournament.getInt("rounds")!!) {
val games = TestAPI.get("/api/tour/$id/res/1").asArray()
val games = TestAPI.get("/api/tour/$id/res/$round").asArray()
logger.info("games for round $round: {}", games.toString())
}
val players = TestAPI.get("/api/tour/$id/part").asArray()
//logger.info(players.toString().slice(0..500) + "...")
}*/
}
}

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Tournament externalIPAddress="223.62.204.120" fullVersionNumber="3.52.03" privateTournament="false" remoteUUID="8ee581b3-6f38-4b98-a655-ce43e5c3158d" runningMode="SAL" saveDT="20230910070840">
<Players>
<Player agaExpirationDate="" agaId="" club="84Av" country="FR" egfPin="" ffgLicence="0120001" ffgLicenceStatus="L" firstName="Bernard" grade="3K" name="Mignucci" participating="11111111111111111111" rank="3K" rating="1820" ratingOrigin="FFG : -230" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="69Ly" country="FR" egfPin="" ffgLicence="8414002" ffgLicenceStatus="L" firstName="Jean-Christophe" grade="3K" name="Honoré" participating="11111111111111111111" rank="3K" rating="1796" ratingOrigin="FFG : -254" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="0013006" ffgLicenceStatus="L" firstName="Philippe" grade="1K" name="Guerre-Genton" participating="11111111111111111111" rank="1K" rating="2042" ratingOrigin="FFG : -8" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="47Ag" country="FR" egfPin="" ffgLicence="0652005" ffgLicenceStatus="L" firstName="Jean-Pierre" grade="11K" name="Ladet" participating="11111111111111111111" rank="11K" rating="1042" ratingOrigin="FFG : -1008" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="8312100" ffgLicenceStatus="L" firstName="Monique" grade="2K" name="Berreby" participating="11111111111111111111" rank="2K" rating="1915" ratingOrigin="FFG : -135" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="06Pe" country="FR" egfPin="" ffgLicence="0370000" ffgLicenceStatus="L" firstName="Rémi" grade="8K" name="Butaud" participating="11111111111111111111" rank="8K" rating="1325" ratingOrigin="FFG : -725" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="30Al" country="FR" egfPin="" ffgLicence="9177404" ffgLicenceStatus="L" firstName="Denis" grade="1D" name="Feldmann" participating="11111111111111111111" rank="1D" rating="2076" ratingOrigin="FFG : 26" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="38Gr" country="FR" egfPin="" ffgLicence="7904900" ffgLicenceStatus="L" firstName="Dominique" grade="1D" name="Cornuejols" participating="11111111111111111111" rank="1D" rating="2105" ratingOrigin="FFG : 55" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="30LV" country="FR" egfPin="" ffgLicence="1700164" ffgLicenceStatus="L" firstName="Stephan" grade="10K" name="Habuda" participating="11111111111111111111" rank="10K" rating="1109" ratingOrigin="FFG : -941" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="30LV" country="FR" egfPin="" ffgLicence="1900261" ffgLicenceStatus="L" firstName="Bruno" grade="11K" name="Martin-Vallas" participating="11111111111111111111" rank="11K" rating="959" ratingOrigin="FFG : -1091" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="76Ro" country="FR" egfPin="" ffgLicence="8665300" ffgLicenceStatus="L" firstName="Jean-Luc" grade="9K" name="Gaillard" participating="11111111111111111111" rank="9K" rating="1154" ratingOrigin="FFG : -896" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="75Pa" country="FR" egfPin="" ffgLicence="1800039" ffgLicenceStatus="L" firstName="Gilles" grade="7K" name="Habart" participating="11111111111111111111" rank="7K" rating="1358" ratingOrigin="FFG : -692" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="75Op" country="FR" egfPin="" ffgLicence="7907800" ffgLicenceStatus="L" firstName="Jérôme" grade="3D" name="Hubert" participating="11111111111111111111" rank="3D" rating="2326" ratingOrigin="FFG : 276" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="64Ba" country="FR" egfPin="" ffgLicence="1200009" ffgLicenceStatus="C" firstName="Philippe" grade="3K" name="Batailler" participating="11111000000000000000" rank="3K" rating="1822" ratingOrigin="FFG : -228" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="31Ba" country="FR" egfPin="" ffgLicence="0425000" ffgLicenceStatus="L" firstName="Philippe" grade="7K" name="Grimond" participating="11111111111111111111" rank="7K" rating="1442" ratingOrigin="FFG : -608" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="86Po" country="FR" egfPin="" ffgLicence="9725084" ffgLicenceStatus="L" firstName="Fabrice" grade="7K" name="Neant" participating="11111111111111111111" rank="7K" rating="1396" ratingOrigin="FFG : -654" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="75Al" country="FR" egfPin="" ffgLicence="1400130" ffgLicenceStatus="L" firstName="Guy" grade="20K" name="Jollivet" participating="11111111111111111111" rank="20K" rating="53" ratingOrigin="FFG : -1997" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="63Ce" country="FR" egfPin="" ffgLicence="2100032" ffgLicenceStatus="L" firstName="William" grade="30K" name="Dupré" participating="11111111111111111111" rank="30K" rating="-900" ratingOrigin="FFG : -9999" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="35Re" country="FR" egfPin="" ffgLicence="9237201" ffgLicenceStatus="L" firstName="Marc" grade="4K" name="Guillou" participating="11111000000000000000" rank="4K" rating="1726" ratingOrigin="FFG : -324" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="44Na" country="FR" egfPin="" ffgLicence="8004400" ffgLicenceStatus="L" firstName="Marc" grade="11K" name="Jegou" participating="11111111111111111111" rank="11K" rating="972" ratingOrigin="FFG : -1078" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="44Na" country="FR" egfPin="" ffgLicence="1450001" ffgLicenceStatus="L" firstName="Yvan" grade="4K" name="Martin" participating="11111111111111111111" rank="4K" rating="1661" ratingOrigin="FFG : -389" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="34Mo" country="FR" egfPin="" ffgLicence="2000244" ffgLicenceStatus="L" firstName="Véronique" grade="30K" name="Born" participating="11111111111111111111" rank="30K" rating="-900" ratingOrigin="FFG : -9999" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="64Pa" country="FR" egfPin="" ffgLicence="9251702" ffgLicenceStatus="C" firstName="Michel" grade="7K" name="Bonis" participating="11111111111111111111" rank="7K" rating="1400" ratingOrigin="FFG : -650" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="75Al" country="FR" egfPin="" ffgLicence="8696800" ffgLicenceStatus="L" firstName="Christian" grade="6K" name="Boyart" participating="11111111111111111111" rank="6K" rating="1511" ratingOrigin="FFG : -539" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="31Ba" country="FR" egfPin="" ffgLicence="9721004" ffgLicenceStatus="L" firstName="Laurent" grade="3K" name="Lamôle" participating="11111111111111111111" rank="3K" rating="1794" ratingOrigin="FFG : -256" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="64Pa" country="FR" egfPin="" ffgLicence="2100010" ffgLicenceStatus="L" firstName="Serge" grade="5K" name="Eon" participating="11111111111111111111" rank="5K" rating="1592" ratingOrigin="FFG : -458" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="63Ce" country="FR" egfPin="" ffgLicence="9838001" ffgLicenceStatus="L" firstName="Chantal" grade="5K" name="Gajdos" participating="11111111111111111111" rank="5K" rating="1562" ratingOrigin="FFG : -488" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="91Or" country="FR" egfPin="" ffgLicence="0321007" ffgLicenceStatus="C" firstName="Paul" grade="2K" name="Baratou" participating="11111111111111111111" rank="2K" rating="1892" ratingOrigin="FFG : -158" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="44Na" country="FR" egfPin="" ffgLicence="7911800" ffgLicenceStatus="L" firstName="François" grade="2D" name="Mizessyn" participating="11111111111111111111" rank="2D" rating="2228" ratingOrigin="FFG : 178" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="44Na" country="FR" egfPin="" ffgLicence="7920001" ffgLicenceStatus="L" firstName="Frédéric" grade="5D" name="Donzet" participating="11111111111111111111" rank="5D" rating="2485" ratingOrigin="FFG : 435" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="91SM" country="FR" egfPin="" ffgLicence="1400089" ffgLicenceStatus="L" firstName="Nicita" grade="10K" name="Giovanni" participating="11111111111111111111" rank="10K" rating="1065" ratingOrigin="FFG : -985" registeringStatus="FIN" smmsCorrection="0" userName=""/>
<Player agaExpirationDate="" agaId="" club="13Ma" country="FR" egfPin="" ffgLicence="0322103" ffgLicenceStatus="L" firstName="Claude" grade="7K" name="Brisson" participating="11111111111111111111" rank="7K" rating="1387" ratingOrigin="FFG : -663" registeringStatus="FIN" smmsCorrection="0" userName=""/>
</Players>
<Games>
</Games>
<TournamentParameterSet>
<GeneralParameterSet bInternetGame="false" basicTime="60" beginDate="2020-12-22" canByoYomiTime="300" complementaryTimeSystem="STDBYOYOMI" director="François Mizessyn" endDate="2021-01-07" fischerTime="10" genCountNotPlayedGamesAsHalfPoint="false" genMMBar="9D" genMMFloor="30K" genMMS2ValueAbsent="1" genMMS2ValueBye="2" genMMZero="30K" genNBW2ValueAbsent="0" genNBW2ValueBye="2" genRoundDownNBWMMS="true" komi="7.5" location="Internet" name="Championnat des Vieux Dragons" nbMovesCanTime="15" numberOfBZHGroups="1" numberOfCategories="1" numberOfRounds="5" shortName="veteran2swiss" size="19" stdByoYomiTime="30"/>
<HandicapParameterSet hdBase="RANK" hdCeiling="0" hdCorrection="0" hdNoHdRankThreshold="30K"/>
<PlacementParameterSet>
<PlacementCriteria>
<PlacementCriterion name="NBW" number="1"/>
<PlacementCriterion name="SOSW" number="2"/>
<PlacementCriterion name="SOSOSW" number="3"/>
<PlacementCriterion name="NULL" number="4"/>
<PlacementCriterion name="NULL" number="5"/>
<PlacementCriterion name="NULL" number="6"/>
</PlacementCriteria>
</PlacementParameterSet>
<PairingParameterSet paiBaAvoidDuplGame="500000000000000" paiBaBalanceWB="1000000" paiBaDeterministic="true" paiBaRandom="0" paiMaAdditionalPlacementCritSystem1="Rating" paiMaAdditionalPlacementCritSystem2="Rating" paiMaAvoidMixingCategories="0" paiMaCompensateDUDD="true" paiMaDUDDLowerMode="MID" paiMaDUDDUpperMode="MID" paiMaDUDDWeight="100000000" paiMaLastRoundForSeedSystem1="2" paiMaMaximizeSeeding="5000000" paiMaMinimizeScoreDifference="100000000000" paiMaSeedSystem1="SPLITANDSLIP" paiMaSeedSystem2="SPLITANDSLIP" paiSeAvoidSameGeo="0" paiSeBarThresholdActive="true" paiSeDefSecCrit="20000000000000" paiSeMinimizeHandicap="0" paiSeNbWinsThresholdActive="true" paiSePreferMMSDiffRatherThanSameClub="0" paiSePreferMMSDiffRatherThanSameCountry="0" paiSeRankThreshold="30K" paiStandardNX1Factor="0.5"/>
<DPParameterSet displayClCol="true" displayCoCol="true" displayIndGamesInMatches="true" displayNPPlayers="false" displayNumCol="true" displayPlCol="true" gameFormat="short" playerSortType="name" showByePlayer="true" showNotFinallyRegisteredPlayers="true" showNotPairedPlayers="true" showNotParticipatingPlayers="false" showPlayerClub="true" showPlayerCountry="false" showPlayerGrade="true"/>
<PublishParameterSet exportToLocalFile="true" htmlAutoScroll="false" print="false"/>
</TournamentParameterSet>
<TeamTournamentParameterSet>
<TeamGeneralParameterSet teamSize="4"/>
<TeamPlacementParameterSet>
<PlacementCriteria>
<PlacementCriterion name="TEAMP" number="1"/>
<PlacementCriterion name="BDW" number="2"/>
<PlacementCriterion name="BDW3U" number="3"/>
<PlacementCriterion name="BDW2U" number="4"/>
<PlacementCriterion name="BDW1U" number="5"/>
<PlacementCriterion name="MNR" number="6"/>
</PlacementCriteria>
</TeamPlacementParameterSet>
</TeamTournamentParameterSet>
</Tournament>