Skip to main content

✅ End main phase expires status

CategoryRegression
StatusPassing
Testtests/test_turn_sequence.py::test_end_main_phase_expires_status

Regression (confusions #1, #9): Status effects MUST expire at end_main_phase.

Preconditions

  • P1 Main Phase, phase_counter = 5.

  • Duban (001) on P1's side, lane 0, READIED.

  • Duban has status effect: stat="pwr", value=-3, expires_phase=5.

Action

  • end_main_phase(state, Side.PLAYER_1)

Expected Postconditions

  • phase_counter = 6 (incremented from 5).

  • Duban's status effect is removed (expires_phase=5 < phase_counter=6).

  • Duban is still on the board.

Assertions

assert len(state.status_effects) == 1
result = end_main_phase(state, Side.PLAYER_1)
assert result.phase_counter == 6
assert len(result.status_effects) == 0 # Status effect expired
assert len(result.demons) == 1 # Duban still on board