File size: 739 Bytes
7eb55e2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | from token_holdem.leaderboard import Leaderboard
def test_leaderboard_records_profit_based_stats(tmp_path):
db = tmp_path / "leaderboard.sqlite3"
board = Leaderboard(db)
board.ensure_player("p1", "Player One", "model", "model/a")
board.ensure_player("p2", "Player Two", "model", "model/b")
board.record_hand(
"arena",
120,
"AS KS QS JS TS",
["p1"],
{"p1": 60, "p2": -60},
{"p1": "Player One", "p2": "Player Two"},
"Player One wins.",
)
rows = board.rows()
assert rows[0].name == "Player One"
assert rows[0].wins == 1
assert rows[0].net_profit == 60
assert rows[1].losses == 1
assert board.hall_of_fame()[0]["key"] == "largest_pot"
|