32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								from ..Regions import act_chapters
							 | 
						||
| 
								 | 
							
								from ..Rules import act_connections
							 | 
						||
| 
								 | 
							
								from . import HatInTimeTestBase
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class TestActs(HatInTimeTestBase):
							 | 
						||
| 
								 | 
							
								    run_default_tests = False
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    options = {
							 | 
						||
| 
								 | 
							
								        "ActRandomizer": 2,
							 | 
						||
| 
								 | 
							
								        "EnableDLC1": 1,
							 | 
						||
| 
								 | 
							
								        "EnableDLC2": 1,
							 | 
						||
| 
								 | 
							
								        "ShuffleActContracts": 0,
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def test_act_shuffle(self):
							 | 
						||
| 
								 | 
							
								        for i in range(300):
							 | 
						||
| 
								 | 
							
								            self.world_setup()
							 | 
						||
| 
								 | 
							
								            self.collect_all_but([""])
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            for name in act_chapters.keys():
							 | 
						||
| 
								 | 
							
								                region = self.multiworld.get_region(name, 1)
							 | 
						||
| 
								 | 
							
								                for entrance in region.entrances:
							 | 
						||
| 
								 | 
							
								                    if entrance.name in act_connections.keys():
							 | 
						||
| 
								 | 
							
								                        continue
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    self.assertTrue(self.can_reach_entrance(entrance.name),
							 | 
						||
| 
								 | 
							
								                                    f"Can't reach {name} from {entrance}\n"
							 | 
						||
| 
								 | 
							
								                                    f"{entrance.parent_region.entrances[0]} -> {entrance.parent_region} "
							 | 
						||
| 
								 | 
							
								                                    f"-> {entrance} -> {name}"
							 | 
						||
| 
								 | 
							
								                                    f" (expected method of access)")
							 |