74 lines
4.2 KiB
Python
74 lines
4.2 KiB
Python
"""
|
|
Author: Louis M
|
|
Date: Thu, 18 Apr 2024 18:45:56 +0000
|
|
Description: Unit test used to test accessibility of locations with and without a light (Dumbo pet or sun form)
|
|
"""
|
|
|
|
from . import AquariaTestBase
|
|
from ..Items import ItemNames
|
|
from ..Locations import AquariaLocationNames
|
|
from ..Options import TurtleRandomizer
|
|
|
|
|
|
class LightAccessTest(AquariaTestBase):
|
|
"""Unit test used to test accessibility of locations with and without light"""
|
|
options = {
|
|
"turtle_randomizer": TurtleRandomizer.option_all,
|
|
"light_needed_to_get_to_dark_places": True,
|
|
}
|
|
|
|
def test_light_location(self) -> None:
|
|
"""Test locations that require light"""
|
|
locations = [
|
|
# Since the `assertAccessDependency` sweep for events even if I tell it not to, those location cannot be
|
|
# tested.
|
|
# AquariaLocationNames.THIRD_SECRET,
|
|
# AquariaLocationNames.SUN_TEMPLE_BULB_IN_THE_TOP_LEFT_PART,
|
|
# AquariaLocationNames.SUN_TEMPLE_BULB_IN_THE_TOP_RIGHT_PART,
|
|
# AquariaLocationNames.SUN_TEMPLE_BULB_AT_THE_TOP_OF_THE_HIGH_DARK_ROOM,
|
|
# AquariaLocationNames.SUN_TEMPLE_GOLDEN_GEAR,
|
|
# AquariaLocationNames.SUN_TEMPLE_BOSS_PATH_FIRST_PATH_BULB,
|
|
# AquariaLocationNames.SUN_TEMPLE_BOSS_PATH_SECOND_PATH_BULB,
|
|
# AquariaLocationNames.SUN_TEMPLE_BOSS_PATH_FIRST_CLIFF_BULB,
|
|
AquariaLocationNames.OCTOPUS_CAVE_DUMBO_EGG,
|
|
AquariaLocationNames.KELP_FOREST_BOTTOM_RIGHT_AREA_ODD_CONTAINER,
|
|
AquariaLocationNames.KELP_FOREST_TOP_RIGHT_AREA_BLACK_PEARL,
|
|
AquariaLocationNames.ABYSS_LEFT_AREA_BULB_IN_HIDDEN_PATH_ROOM,
|
|
AquariaLocationNames.ABYSS_LEFT_AREA_BULB_IN_THE_RIGHT_PART,
|
|
AquariaLocationNames.ABYSS_LEFT_AREA_GLOWING_SEED,
|
|
AquariaLocationNames.ABYSS_LEFT_AREA_GLOWING_PLANT,
|
|
AquariaLocationNames.ABYSS_LEFT_AREA_BULB_IN_THE_BOTTOM_FISH_PASS,
|
|
AquariaLocationNames.ABYSS_RIGHT_AREA_BULB_BEHIND_THE_ROCK_IN_THE_WHALE_ROOM,
|
|
AquariaLocationNames.ABYSS_RIGHT_AREA_BULB_IN_THE_MIDDLE_PATH,
|
|
AquariaLocationNames.ABYSS_RIGHT_AREA_BULB_BEHIND_THE_ROCK_IN_THE_MIDDLE_PATH,
|
|
AquariaLocationNames.ABYSS_RIGHT_AREA_BULB_IN_THE_LEFT_GREEN_ROOM,
|
|
AquariaLocationNames.ICE_CAVERN_BULB_IN_THE_ROOM_TO_THE_RIGHT,
|
|
AquariaLocationNames.ICE_CAVERN_FIRST_BULB_IN_THE_TOP_EXIT_ROOM,
|
|
AquariaLocationNames.ICE_CAVERN_SECOND_BULB_IN_THE_TOP_EXIT_ROOM,
|
|
AquariaLocationNames.ICE_CAVERN_THIRD_BULB_IN_THE_TOP_EXIT_ROOM,
|
|
AquariaLocationNames.ICE_CAVERN_BULB_IN_THE_LEFT_ROOM,
|
|
AquariaLocationNames.BUBBLE_CAVE_BULB_IN_THE_LEFT_CAVE_WALL,
|
|
AquariaLocationNames.BUBBLE_CAVE_BULB_IN_THE_RIGHT_CAVE_WALL_BEHIND_THE_ICE_CRYSTAL,
|
|
AquariaLocationNames.BUBBLE_CAVE_VERSE_EGG,
|
|
AquariaLocationNames.BEATING_MANTIS_SHRIMP_PRIME,
|
|
AquariaLocationNames.KING_JELLYFISH_CAVE_BULB_IN_THE_RIGHT_PATH_FROM_KING_JELLY,
|
|
AquariaLocationNames.KING_JELLYFISH_CAVE_JELLYFISH_COSTUME,
|
|
AquariaLocationNames.BEATING_KING_JELLYFISH_GOD_PRIME,
|
|
AquariaLocationNames.THE_WHALE_VERSE_EGG,
|
|
AquariaLocationNames.FIRST_SECRET,
|
|
AquariaLocationNames.SUNKEN_CITY_RIGHT_AREA_CRATE_CLOSE_TO_THE_SAVE_CRYSTAL,
|
|
AquariaLocationNames.SUNKEN_CITY_RIGHT_AREA_CRATE_IN_THE_LEFT_BOTTOM_ROOM,
|
|
AquariaLocationNames.SUNKEN_CITY_LEFT_AREA_CRATE_IN_THE_LITTLE_PIPE_ROOM,
|
|
AquariaLocationNames.SUNKEN_CITY_LEFT_AREA_CRATE_CLOSE_TO_THE_SAVE_CRYSTAL,
|
|
AquariaLocationNames.SUNKEN_CITY_LEFT_AREA_CRATE_BEFORE_THE_BEDROOM,
|
|
AquariaLocationNames.SUNKEN_CITY_LEFT_AREA_GIRL_COSTUME,
|
|
AquariaLocationNames.SUNKEN_CITY_BULB_ON_TOP_OF_THE_BOSS_AREA,
|
|
AquariaLocationNames.SUNKEN_CITY_CLEARED,
|
|
AquariaLocationNames.BEATING_THE_GOLEM,
|
|
AquariaLocationNames.BEATING_OCTOPUS_PRIME,
|
|
AquariaLocationNames.FINAL_BOSS_AREA_BULB_IN_THE_BOSS_THIRD_FORM_ROOM,
|
|
AquariaLocationNames.OBJECTIVE_COMPLETE,
|
|
]
|
|
items = [[ItemNames.SUN_FORM, ItemNames.BABY_DUMBO, ItemNames.HAS_SUN_CRYSTAL]]
|
|
self.assertAccessDependency(locations, items)
|