✅ Set victory idempotent
| Category | Ability |
| Status | Passing |
| Test | tests/test_scoring.py::test_set_victory_idempotent |
Engine behavior test.
Preconditions
-
game_over: True
-
winner: PLAYER_1
-
victory_reason: "P2 reached 15 CP"
Action
- set_victory(state, PLAYER_2, "different reason")
Expected Postconditions
-
game_over: still True (unchanged)
-
winner: still PLAYER_1 (not overwritten to PLAYER_2)
-
victory_reason: still "P2 reached 15 CP"
Assertions
assert result.game_over is True
assert result.winner == Side.PLAYER_1
assert result.victory_reason == "P2 reached 15 CP"