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)) |