23 lines
		
	
	
		
			757 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			757 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								import typing
							 | 
						||
| 
								 | 
							
								from . import SoETestBase
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class AccessTest(SoETestBase):
							 | 
						||
| 
								 | 
							
								    @staticmethod
							 | 
						||
| 
								 | 
							
								    def _resolveGourds(gourds: typing.Dict[str, typing.Iterable[int]]):
							 | 
						||
| 
								 | 
							
								        return [f"{name} #{number}" for name, numbers in gourds.items() for number in numbers]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def testBronzeAxe(self):
							 | 
						||
| 
								 | 
							
								        gourds = {
							 | 
						||
| 
								 | 
							
								            "Pyramid bottom": (118, 121, 122, 123, 124, 125),
							 | 
						||
| 
								 | 
							
								            "Pyramid top": (140,)
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        locations = ["Rimsala"] + self._resolveGourds(gourds)
							 | 
						||
| 
								 | 
							
								        items = [["Bronze Axe"]]
							 | 
						||
| 
								 | 
							
								        self.assertAccessDependency(locations, items)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def testBronzeSpearPlus(self):
							 | 
						||
| 
								 | 
							
								        locations = ["Megataur"]
							 | 
						||
| 
								 | 
							
								        items = [["Bronze Spear"], ["Lance (Weapon)"], ["Laser Lance"]]
							 | 
						||
| 
								 | 
							
								        self.assertAccessDependency(locations, items)
							 |