✅ Start contract phase empty timekeeping no draw
| Category | Ability |
| Status | Passing |
| Test | tests/test_turn_sequence.py::test_start_contract_phase_empty_timekeeping_no_draw |
If timekeeping deck is empty, player draws nothing (deck_exhaustion rule).
Preconditions
-
P1 timekeeping_deck = [], P1 hand = ["002"].
-
P2 timekeeping_deck = ["009"], P2 hand = [].
Action
- start_contract_phase(state)
Expected Postconditions
-
P1 hand = ["002"] (unchanged — no draw from empty deck).
-
P1 timekeeping_deck = [] (still empty).
-
P2 hand = ["009"] (drew 1).
-
P2 timekeeping_deck = [] (emptied).
Assertions
assert result.players[Side.PLAYER_1].hand == ["002"]
assert result.players[Side.PLAYER_1].timekeeping_deck == []
assert result.players[Side.PLAYER_2].hand == ["009"]
assert result.players[Side.PLAYER_2].timekeeping_deck == []