✅ Pollux can be fused
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_pollux_can_be_fused |
Pollux can be fused as a bottom card (fusion override).
Preconditions
-
Lane 1: P1's Castor (#112) — regular unit, READIED.
-
Lane 1: P1's Pollux (#112_1) — familiar with fusible override.
Action
- can_fuse(state, castor, pollux)
from engine.fusion import can_fuse
state = make_game_state()
castor = make_demon("112", lane=1, owner=Side.PLAYER_1)
state = place_demon(state, castor)
castor = state.demons[-1]
pollux = make_familiar_demon("112_1", lane=1, owner=Side.PLAYER_1)
state = place_demon(state, pollux)
pollux = state.demons[-1]
ok, reason = can_fuse(state, castor, pollux)
Expected Postconditions
-
(True, "") — fusion is legal because 112_1 is in FUSIBLE_FAMILIARS.
-
Card text: "Demons can Fuse with Pollux" (ability[0]).
Assertions
assert ok is True, (
f"Pollux should be fusible (FUSIBLE_FAMILIARS override). "
f"Got ok={ok}, reason={reason!r}"
)
assert reason == "", f"Expected empty reason string, got {reason!r}"