| 
									
										
										
										
											2022-10-14 19:35:53 +02:00
										 |  |  | import typing | 
					
						
							|  |  |  | from . import SoETestBase | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AccessTest(SoETestBase): | 
					
						
							|  |  |  |     @staticmethod | 
					
						
							| 
									
										
										
										
											2024-01-15 09:17:46 +01:00
										 |  |  |     def _resolveGourds(gourds: typing.Mapping[str, typing.Iterable[int]]) -> typing.List[str]: | 
					
						
							| 
									
										
										
										
											2022-10-14 19:35:53 +02:00
										 |  |  |         return [f"{name} #{number}" for name, numbers in gourds.items() for number in numbers] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-15 09:17:46 +01:00
										 |  |  |     def test_bronze_axe(self) -> None: | 
					
						
							| 
									
										
										
										
											2022-10-14 19:35:53 +02:00
										 |  |  |         gourds = { | 
					
						
							|  |  |  |             "Pyramid bottom": (118, 121, 122, 123, 124, 125), | 
					
						
							|  |  |  |             "Pyramid top": (140,) | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         locations = ["Rimsala"] + self._resolveGourds(gourds) | 
					
						
							|  |  |  |         items = [["Bronze Axe"]] | 
					
						
							|  |  |  |         self.assertAccessDependency(locations, items) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-15 09:17:46 +01:00
										 |  |  |     def test_bronze_spear_plus(self) -> None: | 
					
						
							| 
									
										
										
										
											2022-10-14 19:35:53 +02:00
										 |  |  |         locations = ["Megataur"] | 
					
						
							|  |  |  |         items = [["Bronze Spear"], ["Lance (Weapon)"], ["Laser Lance"]] | 
					
						
							|  |  |  |         self.assertAccessDependency(locations, items) |