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"