Archipelago/worlds/musedash/test/TestTrapOption.py

34 lines
1.4 KiB
Python

from . import MuseDashTestBase
class TestNoTraps(MuseDashTestBase):
def test_no_traps(self) -> None:
md_world = self.get_world()
md_world.options.chosen_traps.value.clear()
self.assertEqual(len(md_world.get_available_traps()), 0, "Got an available trap when we expected none.")
def test_all_traps(self) -> None:
md_world = self.get_world()
md_world.options.dlc_packs.value.add(md_world.md_collection.MUSE_PLUS_DLC)
for trap in md_world.md_collection.trap_items.keys():
md_world.options.chosen_traps.value.add(trap)
trap_count = len(md_world.get_available_traps())
true_count = len(md_world.md_collection.trap_items.keys())
self.assertEqual(trap_count, true_count, "Got a different amount of traps than what was expected.")
def test_exclude_sfx_traps(self) -> None:
md_world = self.get_world()
if "Muse Plus" in md_world.options.dlc_packs.value:
md_world.options.dlc_packs.value.remove("Muse Plus")
for trap in md_world.md_collection.trap_items.keys():
md_world.options.chosen_traps.value.add(trap)
trap_count = len(md_world.get_available_traps())
true_count = len(md_world.md_collection.trap_items.keys()) - len(md_world.md_collection.sfx_trap_items)
self.assertEqual(trap_count, true_count, "Got a different amount of traps than what was expected.")