Skip to main content

✅ Belial deploys floating castle

CategoryAbility
StatusPassing
Testtests/test_abilities_complex.py::TestBelialDeployTrigger::test_belial_deploys_floating_castle

Belial enters play and deploys Floating Castle.

Preconditions

  • P1 Main Phase

  • Lane 1: P1's Belial (#101) just deployed

  • P1's familiar_deck contains "101_1" (Floating Castle)

Action

  • fire DEMON_DEPLOYED with source=Belial
result = fire_event(state, event)

castle = [d for d in result.demons if d.unit_id == "101_1"]

Expected Postconditions

  • Floating Castle (101_1): deployed in lane 1 (Belial's lane), P1 owns it

  • "101_1" removed from P1's familiar_deck

Assertions

assert len(castle) == 1, (
f"Floating Castle must be deployed when Belial enters play. "
f"Found {len(castle)} on field."
)
assert castle[0].owner == Side.PLAYER_1, "Floating Castle must be owned by P1."
assert castle[0].lane == 1, (
f"Floating Castle must deploy in Belial's lane (1). Got lane {castle[0].lane}."
)
assert "101_1" not in result.players[Side.PLAYER_1].familiar_deck, (
"101_1 must be removed from familiar_deck after deploy."
)