✅ Place demon
| Category | Ability |
| Status | Passing |
| Test | tests/test_game_state.py::test_place_demon |
PRECONDITIONS:
Preconditions
- Empty game state
Action
- Call place_demon(state, demon).
Expected Postconditions
-
Returned state has len(state.demons) == 1.
-
The placed demon's instance_id == 1.
-
state.next_instance_id == 2 (incremented after placement).
-
Original state is NOT mutated (demons still []).
Assertions
assert len(state1.demons) == 1
assert state1.demons[0].instance_id == 1
assert len(original.demons) == 0