Skip to main content

✅ Get legal fuse targets

CategoryInteraction
StatusPassing
Testtests/test_fusion.py::test_get_legal_fuse_targets

P1 has 3 demons in lane 0 — one familiar excluded, one unfused included.

Preconditions

  • P1 owns Murmur (#002, is_fused=False) in lane 0 — candidate TOP

  • P1 owns Duban (#001, is_fused=False) in lane 0 — valid bottom target

  • P1 owns Sabnock (#003, is_familiar=True) in lane 0 — EXCLUDED (familiar)

  • All on field

Action

  • get_legal_fuse_targets(state, murmur)

Expected Postconditions

  • Returns exactly [duban] — only the non-familiar, same-lane, same-owner demon

  • Sabnock excluded because is_familiar=True

  • Murmur excluded because it is the top card itself

Assertions

assert valid_on_field.instance_id in target_ids
assert familiar_on_field.instance_id not in target_ids
assert len(targets) == 1