42 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.9 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 the bind song (without the location
 | 
						|
             under rock needing bind song option)
 | 
						|
"""
 | 
						|
 | 
						|
from . import AquariaTestBase, after_home_water_locations
 | 
						|
from ..Items import ItemNames
 | 
						|
from ..Locations import AquariaLocationNames
 | 
						|
from ..Options import UnconfineHomeWater, EarlyBindSong
 | 
						|
 | 
						|
 | 
						|
class BindSongAccessTest(AquariaTestBase):
 | 
						|
    """Unit test used to test accessibility of locations with and without the bind song"""
 | 
						|
    options = {
 | 
						|
        "bind_song_needed_to_get_under_rock_bulb": False,
 | 
						|
        "unconfine_home_water": UnconfineHomeWater.option_off,
 | 
						|
        "early_bind_song": EarlyBindSong.option_off
 | 
						|
    }
 | 
						|
 | 
						|
    def test_bind_song_location(self) -> None:
 | 
						|
        """Test locations that require Bind song"""
 | 
						|
        locations = [
 | 
						|
            AquariaLocationNames.VERSE_CAVE_RIGHT_AREA_BIG_SEED,
 | 
						|
            AquariaLocationNames.HOME_WATERS_BULB_IN_THE_PATH_BELOW_NAUTILUS_PRIME,
 | 
						|
            AquariaLocationNames.HOME_WATERS_BULB_IN_THE_BOTTOM_LEFT_ROOM,
 | 
						|
            AquariaLocationNames.HOME_WATERS_NAUTILUS_EGG,
 | 
						|
            AquariaLocationNames.SONG_CAVE_VERSE_EGG,
 | 
						|
            AquariaLocationNames.ENERGY_TEMPLE_FIRST_AREA_BEATING_THE_ENERGY_STATUE,
 | 
						|
            AquariaLocationNames.ENERGY_TEMPLE_FIRST_AREA_BULB_IN_THE_BOTTOM_ROOM_BLOCKED_BY_A_ROCK,
 | 
						|
            AquariaLocationNames.ENERGY_TEMPLE_ENERGY_IDOL,
 | 
						|
            AquariaLocationNames.ENERGY_TEMPLE_SECOND_AREA_BULB_UNDER_THE_ROCK,
 | 
						|
            AquariaLocationNames.ENERGY_TEMPLE_BOTTOM_ENTRANCE_KROTITE_ARMOR,
 | 
						|
            AquariaLocationNames.ENERGY_TEMPLE_THIRD_AREA_BULB_IN_THE_BOTTOM_PATH,
 | 
						|
            AquariaLocationNames.ENERGY_TEMPLE_BOSS_AREA_FALLEN_GOD_TOOTH,
 | 
						|
            AquariaLocationNames.ENERGY_TEMPLE_BLASTER_ROOM_BLASTER_EGG,
 | 
						|
            *after_home_water_locations
 | 
						|
        ]
 | 
						|
        items = [[ItemNames.BIND_SONG]]
 | 
						|
        self.assertAccessDependency(locations, items)
 |