mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00

* SoE: new file naming also fixes test base deprecation * SoE: use options_dataclass * SoE: moar typing * SoE: no more multiworld.random * SoE: replace LogicMixin by SoEPlayerLogic object * SoE: add test that rocket parts always exist * SoE: Even moar typing * SoE: can haz apworld now * SoE: pep up test naming * SoE: use self.options for trap chances * SoE: remove unused import with outdated comment * SoE: move flag and trap extraction to dataclass as suggested by beauxq * SoE: test trap option parsing and item generation
23 lines
762 B
Python
23 lines
762 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 test_bronze_axe(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 test_bronze_spear_plus(self):
|
|
locations = ["Megataur"]
|
|
items = [["Bronze Spear"], ["Lance (Weapon)"], ["Laser Lance"]]
|
|
self.assertAccessDependency(locations, items)
|