39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								from typing import Optional
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from Fill import distribute_planned
							 | 
						||
| 
								 | 
							
								from test.general import setup_solo_multiworld
							 | 
						||
| 
								 | 
							
								from worlds.AutoWorld import call_all
							 | 
						||
| 
								 | 
							
								from . import LADXTestBase
							 | 
						||
| 
								 | 
							
								from .. import LinksAwakeningWorld
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class PlandoTest(LADXTestBase):
							 | 
						||
| 
								 | 
							
								    options = {
							 | 
						||
| 
								 | 
							
								        "plando_items": [{
							 | 
						||
| 
								 | 
							
								            "items": {
							 | 
						||
| 
								 | 
							
								                "Progressive Sword": 2,
							 | 
						||
| 
								 | 
							
								            },
							 | 
						||
| 
								 | 
							
								            "locations": [
							 | 
						||
| 
								 | 
							
								                "Shop 200 Item (Mabe Village)",
							 | 
						||
| 
								 | 
							
								                "Shop 980 Item (Mabe Village)",
							 | 
						||
| 
								 | 
							
								            ],
							 | 
						||
| 
								 | 
							
								        }],
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    def world_setup(self, seed: Optional[int] = None) -> None:
							 | 
						||
| 
								 | 
							
								        self.multiworld = setup_solo_multiworld(
							 | 
						||
| 
								 | 
							
								            LinksAwakeningWorld,
							 | 
						||
| 
								 | 
							
								            ("generate_early", "create_regions", "create_items", "set_rules", "generate_basic")
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        self.multiworld.plando_items[1] = self.options["plando_items"]
							 | 
						||
| 
								 | 
							
								        distribute_planned(self.multiworld)
							 | 
						||
| 
								 | 
							
								        call_all(self.multiworld, "pre_fill")
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								    def test_planned(self):
							 | 
						||
| 
								 | 
							
								        """Tests plandoing swords in the shop."""
							 | 
						||
| 
								 | 
							
								        location_names = ["Shop 200 Item (Mabe Village)", "Shop 980 Item (Mabe Village)"]
							 | 
						||
| 
								 | 
							
								        locations = [self.multiworld.get_location(loc, 1) for loc in location_names]
							 | 
						||
| 
								 | 
							
								        for loc in locations:
							 | 
						||
| 
								 | 
							
								            self.assertEqual("Progressive Sword", loc.item.name)
							 | 
						||
| 
								 | 
							
								            self.assertFalse(loc.can_reach(self.multiworld.state))
							 |