Files
Grinch-AP/worlds/witness/test/test_door_shuffle.py
NewSoupVi 9a37a136a1 The Witness: Add more panels to the "doors: panels" mode (#2916)
* Add more panels that should be panels

* Make it so the caves panel items don't exist in early caves

* Remove unused import

* oops

* Remove Jungle to Monastery Garden from usefulification list

* Add a basic test

* ruff

---------

Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
2024-12-10 21:13:45 +01:00

51 lines
1.4 KiB
Python

from ..test import WitnessMultiworldTestBase, WitnessTestBase
class TestIndividualDoors(WitnessTestBase):
options = {
"shuffle_doors": "doors",
"door_groupings": "off",
}
def test_swamp_laser_shortcut(self) -> None:
"""
Test that Door Shuffle grants early access to Swamp Laser from the back shortcut.
"""
self.assertTrue(self.get_items_by_name("Swamp Laser Shortcut (Door)"))
self.assertAccessDependency(
["Swamp Laser Panel"],
[
["Swamp Laser Shortcut (Door)"],
["Swamp Red Underwater Exit (Door)"],
],
only_check_listed=True,
)
class TestForbiddenDoors(WitnessMultiworldTestBase):
options_per_world = [
{
"early_caves": "off",
},
{
"early_caves": "add_to_pool",
},
]
common_options = {
"shuffle_doors": "panels",
"shuffle_postgame": True,
}
def test_forbidden_doors(self) -> None:
self.assertTrue(
self.get_items_by_name("Caves Mountain Shortcut (Panel)", 1),
"Caves Mountain Shortcut (Panel) should exist in panels shuffle, but it didn't."
)
self.assertFalse(
self.get_items_by_name("Caves Mountain Shortcut (Panel)", 2),
"Caves Mountain Shortcut (Panel) should be removed when Early Caves is enabled, but it still exists."
)