✅ Chaos cannot be bottom card in fusion
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_passive.py::test_chaos_cannot_be_bottom_card_in_fusion |
Chaos cannot be the bottom card in any fusion either.
Preconditions
-
Lane 0: P1's Duban (#001) — READIED
-
Lane 0: P1's Chaos (#054) — READIED
Action
- Call can_fuse(state, duban, chaos) [Chaos as bottom]
from engine.fusion import can_fuse
state = make_game_state()
duban = make_demon("001", lane=0, owner=Side.PLAYER_1)
chaos = make_demon("054", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, duban)
state = place_demon(state, chaos)
duban_on_field = next(d for d in state.demons if d.unit_id == "001")
chaos_on_field = next(d for d in state.demons if d.unit_id == "054")
ok, reason = can_fuse(state, duban_on_field, chaos_on_field)
Expected Postconditions
- Returns (False, "Chaos cannot fuse.")
Assertions
assert ok is False, "Expected Chaos (as bottom) fusion to be blocked"
assert "Chaos" in reason, f"Expected reason to mention 'Chaos': {reason}"