Skip to main content

✅ Get all other demons includes allies

CategoryRegression
StatusPassing
Testtests/test_targeting.py::test_get_all_other_demons_includes_allies

Regression: Confusion #21 — get_all_other_demons still includes allies of excluded demon.

Preconditions

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

  • P2 owns Gusion (#105) in lane 0.

Action

  • get_all_other_demons(state, exclude=duban)
result = get_all_other_demons(state, placed_duban)
result_unit_ids = {d.unit_id for d in result}

Expected Postconditions

  • Result contains Murmur (P1 ally — NOT excluded just because it's allied).

  • Result contains Gusion (P2 enemy).

  • Result does NOT contain Duban (the excluded demon itself).

  • Length of result is 2.

  • 'All Other Demons' means everyone except the source — allies still take friendly fire.

Assertions

assert len(result) == 2
assert "001" not in result_unit_ids # Duban — excluded
assert "002" in result_unit_ids # Murmur — P1 ally still included
assert "105" in result_unit_ids # Gusion — P2 enemy included