Skip to content

Commit

Permalink
update pgn clock tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ornicar committed Feb 11, 2025
1 parent e6d1f26 commit cf6afae
Showing 1 changed file with 38 additions and 32 deletions.
70 changes: 38 additions & 32 deletions test-kit/src/test/scala/TournamentClockTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,42 +6,48 @@ class TournamentClockTest extends ChessTest:

import TournamentClock.parse

def someClock(minutes: Int, seconds: Int) = Some:
TournamentClock(LimitSeconds(minutes * 60), IncrementSeconds(seconds))
def someClock(seconds: Int, inc: Int) = Some:
TournamentClock(LimitSeconds(seconds), IncrementSeconds(inc))

test("parse"):
test("parse empty"):
assertEquals(parse(""), None)
assertEquals(parse("nope"), None)

assertEquals(parse("5+5"), someClock(5, 5))
assertEquals(parse("5+0"), someClock(5, 0))
assertEquals(parse("30+40"), someClock(30, 40))

assertEquals(parse("15m + 10s"), someClock(15, 10))
assertEquals(parse("15 m + 10 s"), someClock(15, 10))
assertEquals(parse("15min + 10sec"), someClock(15, 10))
assertEquals(parse("15m + 10 sec"), someClock(15, 10))
assertEquals(parse("15 min + 10 sec"), someClock(15, 10))
assertEquals(parse("15 min + 10 s"), someClock(15, 10))
assertEquals(parse("15 minutes + 10 seconds"), someClock(15, 10))
assertEquals(parse(" 15 MiNUTes+10SECOnds "), someClock(15, 10))

assertEquals(parse("15 min + 10 sec / move"), someClock(15, 10))
assertEquals(parse("15 min + 10 s / move"), someClock(15, 10))
assertEquals(parse("15 min + 10 seconds / move"), someClock(15, 10))
assertEquals(parse("15 minutes + 10 seconds / move"), someClock(15, 10))

assertEquals(parse("90 min + 30 sec / move"), someClock(90, 30))

assertEquals(parse("120' + 12\""), someClock(120, 12))
assertEquals(parse("120' + 12\"/move"), someClock(120, 12))
assertEquals(parse("120' + 12\" / move"), someClock(120, 12))
assertEquals(parse("7200+12"), someClock(120, 12))

assertEquals(parse("3600"), someClock(60, 0))
assertEquals(parse("60"), someClock(60, 0))
assertEquals(parse("180"), someClock(180, 0))
assertEquals(parse("240"), someClock(4, 0))
test("parse standard"):
assertEquals(parse("300+5"), someClock(300, 5))
assertEquals(parse("300+0"), someClock(300, 0))
assertEquals(parse("5400+60"), someClock(5400, 60))

test("parse as minutes for compat"):
assertEquals(parse("3+2"), someClock(3 * 60, 2))
assertEquals(parse("60+30"), someClock(60 * 60, 30))
assertEquals(parse("180+30"), someClock(180 * 60, 30))

test("parse weird shit"):
assertEquals(parse("15m + 10s"), someClock(15 * 60, 10))
assertEquals(parse("15 m + 10 s"), someClock(15 * 60, 10))
assertEquals(parse("15min + 10sec"), someClock(15 * 60, 10))
assertEquals(parse("15m + 10 sec"), someClock(15 * 60, 10))
assertEquals(parse("15 min + 10 sec"), someClock(15 * 60, 10))
assertEquals(parse("15 min + 10 s"), someClock(15 * 60, 10))
assertEquals(parse("15 minutes + 10 seconds"), someClock(15 * 60, 10))
assertEquals(parse(" 15 MiNUTes+10SECOnds "), someClock(15 * 60, 10))

assertEquals(parse("15 min + 10 sec / move"), someClock(15 * 60, 10))
assertEquals(parse("15 min + 10 s / move"), someClock(15 * 60, 10))
assertEquals(parse("15 min + 10 seconds / move"), someClock(15 * 60, 10))
assertEquals(parse("15 minutes + 10 seconds / move"), someClock(15 * 60, 10))

assertEquals(parse("90 min + 30 sec / move"), someClock(90 * 60, 30))

assertEquals(parse("120' + 12\""), someClock(120 * 60, 12))
assertEquals(parse("120' + 12\"/move"), someClock(120 * 60, 12))
assertEquals(parse("120' + 12\" / move"), someClock(120 * 60, 12))

assertEquals(parse("3600"), someClock(3600, 0))
assertEquals(parse("60"), someClock(60 * 60, 0))
assertEquals(parse("180"), someClock(180 * 60, 0))
assertEquals(parse("240"), someClock(240, 0))

assertEquals(parse("120 min / 40 moves + 30 min"), None)

Expand Down

0 comments on commit cf6afae

Please sign in to comment.