Skip to main content

✅ Fuse demons does not mutate input

CategoryAbility
StatusPassing
Testtests/test_fusion.py::test_fuse_demons_does_not_mutate_input

Verify copy-on-write — fuse_demons must not mutate the input state.

Preconditions

  • P1 owns Murmur (#002) and Duban (#001) in lane 0

Action

  • fuse_demons(state, murmur, duban)

Expected Postconditions

  • Original state.demons still has 2 demons

  • Original murmur.is_fused is still False

  • Original murmur.state is still READIED

Assertions

assert len(state.demons) == original_demon_count
assert state.demons[0].is_fused == original_top_is_fused