test: add win-by-2 coverage (golden point 40-40, set 7-5, tiebreak 8-6)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -139,6 +139,46 @@ function winGameFor(m as PadelMatch, team as Number) as Void {
|
||||
m.pointTo(US); // match started; toggle now locked
|
||||
m.toggleStartingServer();
|
||||
Test.assertEqualMessage(m.canSetServer(), false, "server locked after first point");
|
||||
Test.assertEqualMessage(m.servingQuadrant(), QUAD_UPPER_RIGHT, "server unchanged after locked toggle");
|
||||
return true;
|
||||
}
|
||||
|
||||
(:test) function testGoldenPointSuddenDeath(logger as Logger) as Boolean {
|
||||
var m = newMatch(); // golden point default
|
||||
for (var i = 0; i < 3; i += 1) { m.pointTo(US); m.pointTo(THEM); }
|
||||
Test.assertEqualMessage(m.pointLabel(US), "40", "US 40 at deuce");
|
||||
Test.assertEqualMessage(m.pointLabel(THEM), "40", "THEM 40 at deuce");
|
||||
m.pointTo(US); // sudden death: next point wins
|
||||
Test.assertEqualMessage(m.games(US), 1, "US wins game on golden point");
|
||||
Test.assertEqualMessage(m.pointLabel(US), "0", "points reset after game");
|
||||
return true;
|
||||
}
|
||||
|
||||
(:test) function testSetWinBySevenFive(logger as Logger) as Boolean {
|
||||
var m = newMatch();
|
||||
for (var g = 0; g < 5; g += 1) { winGameFor(m, US); winGameFor(m, THEM); }
|
||||
Test.assertEqualMessage(m.games(US), 5, "5-5 games");
|
||||
winGameFor(m, US); // 6-5: not a set yet (win by 2)
|
||||
Test.assertEqualMessage(m.sets(US), 0, "no set at 6-5");
|
||||
Test.assertEqualMessage(m.isInTiebreak(), false, "no tiebreak at 6-5");
|
||||
Test.assertEqualMessage(m.games(US), 6, "US leads 6-5");
|
||||
winGameFor(m, US); // 7-5: set won
|
||||
Test.assertEqualMessage(m.sets(US), 1, "US wins set 7-5");
|
||||
return true;
|
||||
}
|
||||
|
||||
(:test) function testTiebreakWinByTwo(logger as Logger) as Boolean {
|
||||
var m = newMatch();
|
||||
for (var g = 0; g < 6; g += 1) { winGameFor(m, US); winGameFor(m, THEM); }
|
||||
Test.assertEqualMessage(m.isInTiebreak(), true, "tiebreak at 6-6");
|
||||
for (var p = 0; p < 6; p += 1) { m.pointTo(US); m.pointTo(THEM); } // 6-6 in tiebreak
|
||||
Test.assertEqualMessage(m.isInTiebreak(), true, "still in tiebreak at 6-6");
|
||||
m.pointTo(US); // 7-6: not won (win by 2)
|
||||
Test.assertEqualMessage(m.isInTiebreak(), true, "7-6 not enough");
|
||||
Test.assertEqualMessage(m.sets(US), 0, "no set at 7-6");
|
||||
m.pointTo(US); // 8-6: set won
|
||||
Test.assertEqualMessage(m.isInTiebreak(), false, "tiebreak done at 8-6");
|
||||
Test.assertEqualMessage(m.sets(US), 1, "US wins set via 8-6 tiebreak");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user