Tests: now autoload tests from /worlds/*/test (#1318)
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
This commit is contained in:
206
worlds/alttp/test/owg/TestDarkWorld.py
Normal file
206
worlds/alttp/test/owg/TestDarkWorld.py
Normal file
@@ -0,0 +1,206 @@
|
||||
from .TestVanillaOWG import TestVanillaOWG
|
||||
|
||||
|
||||
class TestDarkWorld(TestVanillaOWG):
|
||||
|
||||
def testSouthDarkWorld(self):
|
||||
self.run_location_tests([
|
||||
["Hype Cave - Top", False, []],
|
||||
["Hype Cave - Top", False, [], ['Moon Pearl']],
|
||||
["Hype Cave - Top", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Hype Cave - Top", True, ['Moon Pearl', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Hype Cave - Top", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Hype Cave - Top", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Hype Cave - Top", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Hype Cave - Top", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Hype Cave - Middle Right", False, []],
|
||||
["Hype Cave - Middle Right", False, [], ['Moon Pearl']],
|
||||
["Hype Cave - Middle Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Hype Cave - Middle Right", True, ['Moon Pearl', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Hype Cave - Middle Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Hype Cave - Middle Right", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Hype Cave - Middle Right", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Hype Cave - Middle Right", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Hype Cave - Middle Left", False, []],
|
||||
["Hype Cave - Middle Left", False, [], ['Moon Pearl']],
|
||||
["Hype Cave - Middle Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Hype Cave - Middle Left", True, ['Moon Pearl', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Hype Cave - Middle Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Hype Cave - Middle Left", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Hype Cave - Middle Left", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Hype Cave - Middle Left", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Hype Cave - Bottom", False, []],
|
||||
["Hype Cave - Bottom", False, [], ['Moon Pearl']],
|
||||
["Hype Cave - Bottom", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Hype Cave - Bottom", True, ['Moon Pearl', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Hype Cave - Bottom", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Hype Cave - Bottom", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Hype Cave - Bottom", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Hype Cave - Bottom", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Hype Cave - Generous Guy", False, []],
|
||||
["Hype Cave - Generous Guy", False, [], ['Moon Pearl']],
|
||||
["Hype Cave - Generous Guy", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Hype Cave - Generous Guy", True, ['Moon Pearl', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Hype Cave - Generous Guy", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Hype Cave - Generous Guy", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Hype Cave - Generous Guy", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Hype Cave - Generous Guy", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Stumpy", False, []],
|
||||
["Stumpy", False, [], ['Moon Pearl']],
|
||||
["Stumpy", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Stumpy", True, ['Moon Pearl', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Stumpy", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Stumpy", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Stumpy", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Stumpy", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Digging Game", False, []],
|
||||
["Digging Game", False, [], ['Moon Pearl']],
|
||||
["Digging Game", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Digging Game", True, ['Moon Pearl', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Digging Game", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Digging Game", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Digging Game", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Digging Game", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']]
|
||||
])
|
||||
|
||||
def testEastDarkWorld(self):
|
||||
self.run_location_tests([
|
||||
["Catfish", False, []],
|
||||
["Catfish", False, [], ['Moon Pearl']],
|
||||
["Catfish", False, [], ['Progressive Glove', 'Pegasus Boots']],
|
||||
["Catfish", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Catfish", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove']],
|
||||
["Catfish", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Catfish", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Pyramid", False, []],
|
||||
["Pyramid", False, [], ['Beat Agahnim 1', 'Moon Pearl', 'Magic Mirror']],
|
||||
["Pyramid", False, [], ['Beat Agahnim 1', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Pyramid", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Pyramid", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Pyramid", True, ['Beat Agahnim 1']],
|
||||
["Pyramid", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Pyramid", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Pyramid Fairy - Left", False, []],
|
||||
["Pyramid Fairy - Left", False, [], ['Pegasus Boots', 'Moon Pearl', 'Beat Agahnim 1']],
|
||||
["Pyramid Fairy - Left", False, [], ['Pegasus Boots', 'Moon Pearl', 'Crystal 5']],
|
||||
["Pyramid Fairy - Left", False, [], ['Pegasus Boots', 'Moon Pearl', 'Crystal 6']],
|
||||
["Pyramid Fairy - Left", False, [], ['Magic Mirror', 'Crystal 5']],
|
||||
["Pyramid Fairy - Left", False, [], ['Magic Mirror', 'Crystal 6']],
|
||||
["Pyramid Fairy - Left", False, [], ['Magic Mirror', 'Moon Pearl']],
|
||||
["Pyramid Fairy - Left", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Pyramid Fairy - Left", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Pyramid Fairy - Left", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Progressive Glove', 'Hammer']],
|
||||
["Pyramid Fairy - Left", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Progressive Glove', 'Progressive Glove', 'Magic Mirror']],
|
||||
["Pyramid Fairy - Left", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot', 'Magic Mirror']],
|
||||
["Pyramid Fairy - Left", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Flippers', 'Hookshot', 'Magic Mirror']],
|
||||
["Pyramid Fairy - Left", True, ['Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Flute', 'Magic Mirror']],
|
||||
["Pyramid Fairy - Left", True, ['Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
|
||||
["Pyramid Fairy - Right", False, []],
|
||||
["Pyramid Fairy - Right", False, [], ['Pegasus Boots', 'Moon Pearl', 'Beat Agahnim 1']],
|
||||
["Pyramid Fairy - Right", False, [], ['Pegasus Boots', 'Moon Pearl', 'Crystal 5']],
|
||||
["Pyramid Fairy - Right", False, [], ['Pegasus Boots', 'Moon Pearl', 'Crystal 6']],
|
||||
["Pyramid Fairy - Right", False, [], ['Magic Mirror', 'Crystal 5']],
|
||||
["Pyramid Fairy - Right", False, [], ['Magic Mirror', 'Crystal 6']],
|
||||
["Pyramid Fairy - Right", False, [], ['Magic Mirror', 'Moon Pearl']],
|
||||
["Pyramid Fairy - Right", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Pyramid Fairy - Right", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Pyramid Fairy - Right", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Progressive Glove', 'Hammer']],
|
||||
["Pyramid Fairy - Right", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Progressive Glove', 'Progressive Glove', 'Magic Mirror']],
|
||||
["Pyramid Fairy - Right", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot', 'Magic Mirror']],
|
||||
["Pyramid Fairy - Right", True, ['Moon Pearl', 'Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Flippers', 'Hookshot', 'Magic Mirror']],
|
||||
["Pyramid Fairy - Right", True, ['Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Flute', 'Magic Mirror']],
|
||||
["Pyramid Fairy - Right", True, ['Crystal 5', 'Crystal 6', 'Beat Agahnim 1', 'Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
|
||||
["Ganon", False, []],
|
||||
["Ganon", False, [], ['Moon Pearl']],
|
||||
["Ganon", False, [], ['Beat Agahnim 2']],
|
||||
])
|
||||
|
||||
def testWestDarkWorld(self):
|
||||
self.run_location_tests([
|
||||
["Brewery", False, []],
|
||||
["Brewery", False, [], ['Moon Pearl']],
|
||||
["Brewery", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot', 'Progressive Glove']],
|
||||
["Brewery", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Brewery", True, ['Moon Pearl', 'Flute', 'Magic Mirror']],
|
||||
["Brewery", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Brewery", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Brewery", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Brewery", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["C-Shaped House", False, []],
|
||||
["C-Shaped House", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["C-Shaped House", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["C-Shaped House", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["C-Shaped House", True, ['Magic Mirror', 'Flute']],
|
||||
["C-Shaped House", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["C-Shaped House", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["C-Shaped House", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["C-Shaped House", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Chest Game", False, []],
|
||||
["Chest Game", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Chest Game", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Chest Game", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Chest Game", True, ['Magic Mirror', 'Flute']],
|
||||
["Chest Game", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Chest Game", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Chest Game", True, ['Moon Pearl', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Chest Game", True, ['Moon Pearl', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Peg Cave", False, []],
|
||||
["Peg Cave", False, [], ['Moon Pearl']],
|
||||
["Peg Cave", False, [], ['Hammer']],
|
||||
["Peg Cave", False, ['Progressive Glove'], ['Pegasus Boots', 'Progressive Glove']],
|
||||
["Peg Cave", True, ['Moon Pearl', 'Hammer', 'Pegasus Boots']],
|
||||
["Peg Cave", True, ['Moon Pearl', 'Hammer', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Bumper Cave Ledge", False, []],
|
||||
["Bumper Cave Ledge", False, [], ['Moon Pearl']],
|
||||
["Bumper Cave Ledge", False, [], ['Cape', 'Pegasus Boots']],
|
||||
["Bumper Cave Ledge", False, [], ['Progressive Glove', 'Pegasus Boots']],
|
||||
["Bumper Cave Ledge", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Bumper Cave Ledge", True, ['Moon Pearl', 'Cape', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Bumper Cave Ledge", True, ['Moon Pearl', 'Cape', 'Progressive Glove', 'Hammer']],
|
||||
["Bumper Cave Ledge", True, ['Moon Pearl', 'Cape', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
|
||||
["Blacksmith", False, []],
|
||||
["Blacksmith", False, ['Progressive Glove'], ['Progressive Glove']],
|
||||
["Blacksmith", False, [], ['Moon Pearl']],
|
||||
["Blacksmith", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Purple Chest", False, []],
|
||||
["Purple Chest", False, ['Progressive Glove'], ['Progressive Glove']],
|
||||
["Purple Chest", False, [], ['Moon Pearl']],
|
||||
["Purple Chest", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']]
|
||||
|
||||
|
||||
])
|
||||
|
||||
def testMireArea(self):
|
||||
self.run_location_tests([
|
||||
["Mire Shed - Left", False, []],
|
||||
["Mire Shed - Left", False, ['Progressive Glove'], ['Progressive Glove', 'Pegasus Boots']],
|
||||
["Mire Shed - Left", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Mire Shed - Left", False, [], ['Flute', 'Pegasus Boots']],
|
||||
["Mire Shed - Left", True, ['Moon Pearl', 'Flute', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Mire Shed - Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Mire Shed - Left", True, ['Magic Mirror', 'Flute', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Mire Shed - Right", False, []],
|
||||
["Mire Shed - Right", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Mire Shed - Right", False, ['Progressive Glove'], ['Progressive Glove', 'Pegasus Boots']],
|
||||
["Mire Shed - Right", False, [], ['Flute', 'Pegasus Boots']],
|
||||
["Mire Shed - Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Mire Shed - Right", True, ['Magic Mirror', 'Flute', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Mire Shed - Right", True, ['Moon Pearl', 'Flute', 'Progressive Glove', 'Progressive Glove']],
|
||||
])
|
||||
199
worlds/alttp/test/owg/TestDeathMountain.py
Normal file
199
worlds/alttp/test/owg/TestDeathMountain.py
Normal file
@@ -0,0 +1,199 @@
|
||||
from .TestVanillaOWG import TestVanillaOWG
|
||||
|
||||
|
||||
class TestDeathMountain(TestVanillaOWG):
|
||||
|
||||
def testWestDeathMountain(self):
|
||||
self.run_location_tests([
|
||||
["Ether Tablet", False, []],
|
||||
["Ether Tablet", False, ['Progressive Sword'], ['Progressive Sword']],
|
||||
["Ether Tablet", False, [], ['Book of Mudora']],
|
||||
["Ether Tablet", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Ether Tablet", False, [], ['Pegasus Boots', 'Lamp', 'Flute']],
|
||||
["Ether Tablet", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot']],
|
||||
["Ether Tablet", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hammer']],
|
||||
["Ether Tablet", True, ['Pegasus Boots', 'Book of Mudora', 'Progressive Sword', 'Progressive Sword']],
|
||||
["Ether Tablet", True, ['Flute', 'Magic Mirror', 'Book of Mudora', 'Progressive Sword', 'Progressive Sword']],
|
||||
["Ether Tablet", True, ['Progressive Glove', 'Lamp', 'Magic Mirror', 'Book of Mudora', 'Progressive Sword', 'Progressive Sword']],
|
||||
["Ether Tablet", True, ['Flute', 'Hammer', 'Hookshot', 'Book of Mudora', 'Progressive Sword', 'Progressive Sword']],
|
||||
["Ether Tablet", True, ['Progressive Glove', 'Lamp', 'Hammer', 'Hookshot', 'Book of Mudora', 'Progressive Sword', 'Progressive Sword']],
|
||||
|
||||
["Old Man", False, []],
|
||||
["Old Man", False, [], ['Lamp']],
|
||||
["Old Man", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Old Man", True, ['Pegasus Boots', 'Lamp']],
|
||||
["Old Man", True, ['Flute', 'Lamp']],
|
||||
["Old Man", True, ['Progressive Glove', 'Lamp']],
|
||||
|
||||
["Spectacle Rock Cave", False, []],
|
||||
["Spectacle Rock Cave", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Spectacle Rock Cave", False, [], ['Pegasus Boots', 'Lamp', 'Flute']],
|
||||
["Spectacle Rock Cave", True, ['Pegasus Boots']],
|
||||
["Spectacle Rock Cave", True, ['Flute']],
|
||||
["Spectacle Rock Cave", True, ['Progressive Glove', 'Lamp']],
|
||||
|
||||
["Spectacle Rock", False, []],
|
||||
["Spectacle Rock", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Spectacle Rock", False, [], ['Pegasus Boots', 'Lamp', 'Flute']],
|
||||
["Spectacle Rock", False, [], ['Pegasus Boots', 'Magic Mirror']],
|
||||
["Spectacle Rock", True, ['Pegasus Boots']],
|
||||
["Spectacle Rock", True, ['Flute', 'Magic Mirror']],
|
||||
["Spectacle Rock", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
])
|
||||
|
||||
def testEastDeathMountain(self):
|
||||
self.run_location_tests([
|
||||
["Mimic Cave", False, []],
|
||||
["Mimic Cave", False, [], ['Magic Mirror']],
|
||||
["Mimic Cave", False, [], ['Hammer']],
|
||||
["Mimic Cave", False, [], ['Pegasus Boots', 'Flute', 'Lamp']],
|
||||
["Mimic Cave", False, [], ['Pegasus Boots', 'Flute', 'Progressive Glove']],
|
||||
["Mimic Cave", True, ['Magic Mirror', 'Hammer', 'Pegasus Boots']],
|
||||
["Mimic Cave", True, ['Magic Mirror', 'Hammer', 'Progressive Glove', 'Lamp']],
|
||||
["Mimic Cave", True, ['Magic Mirror', 'Hammer', 'Flute']],
|
||||
|
||||
["Spiral Cave", False, []],
|
||||
["Spiral Cave", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Spiral Cave", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot']],
|
||||
["Spiral Cave", True, ['Pegasus Boots']],
|
||||
["Spiral Cave", True, ['Flute', 'Hookshot']],
|
||||
["Spiral Cave", True, ['Progressive Glove', 'Lamp', 'Hookshot']],
|
||||
["Spiral Cave", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
["Spiral Cave", True, ['Flute', 'Magic Mirror']],
|
||||
|
||||
["Paradox Cave Lower - Far Left", False, []],
|
||||
["Paradox Cave Lower - Far Left", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Paradox Cave Lower - Far Left", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot']],
|
||||
["Paradox Cave Lower - Far Left", True, ['Pegasus Boots']],
|
||||
["Paradox Cave Lower - Far Left", True, ['Flute', 'Hookshot']],
|
||||
["Paradox Cave Lower - Far Left", True, ['Progressive Glove', 'Lamp', 'Hookshot']],
|
||||
["Paradox Cave Lower - Far Left", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
["Paradox Cave Lower - Far Left", True, ['Flute', 'Magic Mirror']],
|
||||
|
||||
["Paradox Cave Lower - Left", False, []],
|
||||
["Paradox Cave Lower - Left", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Paradox Cave Lower - Left", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot']],
|
||||
["Paradox Cave Lower - Left", True, ['Pegasus Boots']],
|
||||
["Paradox Cave Lower - Left", True, ['Flute', 'Hookshot']],
|
||||
["Paradox Cave Lower - Left", True, ['Progressive Glove', 'Lamp', 'Hookshot']],
|
||||
["Paradox Cave Lower - Left", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
["Paradox Cave Lower - Left", True, ['Flute', 'Magic Mirror']],
|
||||
|
||||
["Paradox Cave Lower - Middle", False, []],
|
||||
["Paradox Cave Lower - Middle", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Paradox Cave Lower - Middle", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot']],
|
||||
["Paradox Cave Lower - Middle", True, ['Pegasus Boots']],
|
||||
["Paradox Cave Lower - Middle", True, ['Flute', 'Hookshot']],
|
||||
["Paradox Cave Lower - Middle", True, ['Progressive Glove', 'Lamp', 'Hookshot']],
|
||||
["Paradox Cave Lower - Middle", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
["Paradox Cave Lower - Middle", True, ['Flute', 'Magic Mirror']],
|
||||
|
||||
["Paradox Cave Lower - Right", False, []],
|
||||
["Paradox Cave Lower - Right", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Paradox Cave Lower - Right", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot']],
|
||||
["Paradox Cave Lower - Right", True, ['Pegasus Boots']],
|
||||
["Paradox Cave Lower - Right", True, ['Flute', 'Hookshot']],
|
||||
["Paradox Cave Lower - Right", True, ['Progressive Glove', 'Lamp', 'Hookshot']],
|
||||
["Paradox Cave Lower - Right", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
["Paradox Cave Lower - Right", True, ['Flute', 'Magic Mirror']],
|
||||
|
||||
["Paradox Cave Lower - Far Right", False, []],
|
||||
["Paradox Cave Lower - Far Right", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Paradox Cave Lower - Far Right", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot']],
|
||||
["Paradox Cave Lower - Far Right", True, ['Pegasus Boots']],
|
||||
["Paradox Cave Lower - Far Right", True, ['Flute', 'Hookshot']],
|
||||
["Paradox Cave Lower - Far Right", True, ['Progressive Glove', 'Lamp', 'Hookshot']],
|
||||
["Paradox Cave Lower - Far Right", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
["Paradox Cave Lower - Far Right", True, ['Flute', 'Magic Mirror']],
|
||||
|
||||
["Paradox Cave Upper - Left", False, []],
|
||||
["Paradox Cave Upper - Left", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Paradox Cave Upper - Left", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot']],
|
||||
["Paradox Cave Upper - Left", True, ['Pegasus Boots']],
|
||||
["Paradox Cave Upper - Left", True, ['Flute', 'Hookshot']],
|
||||
["Paradox Cave Upper - Left", True, ['Progressive Glove', 'Lamp', 'Hookshot']],
|
||||
["Paradox Cave Upper - Left", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
["Paradox Cave Upper - Left", True, ['Flute', 'Magic Mirror']],
|
||||
|
||||
["Paradox Cave Upper - Right", False, []],
|
||||
["Paradox Cave Upper - Right", False, [], ['Pegasus Boots', 'Progressive Glove', 'Flute']],
|
||||
["Paradox Cave Upper - Right", False, [], ['Pegasus Boots', 'Magic Mirror', 'Hookshot']],
|
||||
["Paradox Cave Upper - Right", True, ['Pegasus Boots']],
|
||||
["Paradox Cave Upper - Right", True, ['Flute', 'Hookshot']],
|
||||
["Paradox Cave Upper - Right", True, ['Progressive Glove', 'Lamp', 'Hookshot']],
|
||||
["Paradox Cave Upper - Right", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
["Paradox Cave Upper - Right", True, ['Flute', 'Magic Mirror']],
|
||||
])
|
||||
|
||||
def testWestDarkWorldDeathMountain(self):
|
||||
self.run_location_tests([
|
||||
["Spike Cave", False, []],
|
||||
["Spike Cave", False, [], ['Progressive Glove']],
|
||||
["Spike Cave", False, [], ['Moon Pearl']],
|
||||
["Spike Cave", False, [], ['Hammer']],
|
||||
["Spike Cave", False, [], ['Cape', 'Cane of Byrna']],
|
||||
["Spike Cave", True, ['Bottle', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Lamp', 'Cape']],
|
||||
["Spike Cave", True, ['Bottle', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Flute', 'Cape']],
|
||||
["Spike Cave", True, ['Bottle', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Lamp', 'Cane of Byrna']],
|
||||
["Spike Cave", True, ['Bottle', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Flute', 'Cane of Byrna']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/2)', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Lamp', 'Cape']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/2)', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Flute', 'Cape']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/2)', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Lamp', 'Cane of Byrna']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/2)', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Flute', 'Cane of Byrna']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/4)', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Lamp', 'Cape']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/4)', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Flute', 'Cape']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/4)', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Lamp', 'Cane of Byrna']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/4)', 'Moon Pearl', 'Hammer', 'Progressive Glove', 'Flute', 'Cane of Byrna']],
|
||||
])
|
||||
|
||||
def testEastDarkWorldDeathMountain(self):
|
||||
self.run_location_tests([
|
||||
["Superbunny Cave - Top", False, []],
|
||||
["Superbunny Cave - Top", True, ['Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
["Superbunny Cave - Top", True, ['Hammer', 'Pegasus Boots']],
|
||||
["Superbunny Cave - Top", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Superbunny Cave - Top", True, ['Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']],
|
||||
["Superbunny Cave - Top", True, ['Magic Mirror', 'Flute']],
|
||||
["Superbunny Cave - Top", True, ['Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']],
|
||||
["Superbunny Cave - Top", True, ['Progressive Glove', 'Magic Mirror', 'Lamp']],
|
||||
|
||||
["Superbunny Cave - Bottom", False, []],
|
||||
["Superbunny Cave - Bottom", True, ['Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
["Superbunny Cave - Bottom", True, ['Hammer', 'Pegasus Boots']],
|
||||
["Superbunny Cave - Bottom", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Superbunny Cave - Bottom", True, ['Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']],
|
||||
["Superbunny Cave - Bottom", True, ['Magic Mirror', 'Flute']],
|
||||
["Superbunny Cave - Bottom", True, ['Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']],
|
||||
["Superbunny Cave - Bottom", True, ['Progressive Glove', 'Magic Mirror', 'Lamp']],
|
||||
|
||||
["Hookshot Cave - Bottom Right", False, []],
|
||||
["Hookshot Cave - Bottom Right", False, [], ['Progressive Glove', 'Pegasus Boots']],
|
||||
["Hookshot Cave - Bottom Right", False, [], ['Moon Pearl']],
|
||||
["Hookshot Cave - Bottom Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Hookshot Cave - Bottom Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']],
|
||||
["Hookshot Cave - Bottom Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']],
|
||||
|
||||
["Hookshot Cave - Bottom Left", False, []],
|
||||
["Hookshot Cave - Bottom Left", False, [], ['Progressive Glove', 'Pegasus Boots']],
|
||||
["Hookshot Cave - Bottom Left", False, [], ['Moon Pearl']],
|
||||
["Hookshot Cave - Bottom Left", False, [], ['Hookshot']],
|
||||
["Hookshot Cave - Bottom Left", True, ['Moon Pearl', 'Pegasus Boots', 'Hookshot']],
|
||||
["Hookshot Cave - Bottom Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']],
|
||||
["Hookshot Cave - Bottom Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']],
|
||||
|
||||
["Hookshot Cave - Top Left", False, []],
|
||||
["Hookshot Cave - Top Left", False, [], ['Progressive Glove', 'Pegasus Boots']],
|
||||
["Hookshot Cave - Top Left", False, [], ['Moon Pearl']],
|
||||
["Hookshot Cave - Top Left", False, [], ['Hookshot']],
|
||||
["Hookshot Cave - Top Left", True, ['Moon Pearl', 'Pegasus Boots', 'Hookshot']],
|
||||
["Hookshot Cave - Top Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']],
|
||||
["Hookshot Cave - Top Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']],
|
||||
|
||||
["Hookshot Cave - Top Right", False, []],
|
||||
["Hookshot Cave - Top Right", False, [], ['Progressive Glove', 'Pegasus Boots']],
|
||||
["Hookshot Cave - Top Right", False, [], ['Moon Pearl']],
|
||||
["Hookshot Cave - Top Right", False, [], ['Hookshot']],
|
||||
["Hookshot Cave - Top Right", True, ['Moon Pearl', 'Pegasus Boots', 'Hookshot']],
|
||||
["Hookshot Cave - Top Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']],
|
||||
["Hookshot Cave - Top Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']],
|
||||
])
|
||||
129
worlds/alttp/test/owg/TestDungeons.py
Normal file
129
worlds/alttp/test/owg/TestDungeons.py
Normal file
@@ -0,0 +1,129 @@
|
||||
from .TestVanillaOWG import TestVanillaOWG
|
||||
|
||||
|
||||
class TestDungeons(TestVanillaOWG):
|
||||
|
||||
def testFirstDungeonChests(self):
|
||||
self.run_location_tests([
|
||||
["Hyrule Castle - Map Chest", True, []],
|
||||
|
||||
["Sanctuary", True, []],
|
||||
|
||||
["Sewers - Secret Room - Left", False, []],
|
||||
["Sewers - Secret Room - Left", True, ['Progressive Glove']],
|
||||
["Sewers - Secret Room - Left", True, ['Lamp', 'Small Key (Hyrule Castle)']],
|
||||
|
||||
["Eastern Palace - Compass Chest", True, []],
|
||||
|
||||
["Desert Palace - Map Chest", False, []],
|
||||
["Desert Palace - Map Chest", True, ['Pegasus Boots']],
|
||||
["Desert Palace - Map Chest", True, ['Book of Mudora']],
|
||||
["Desert Palace - Map Chest", True, ['Flute', 'Progressive Glove', 'Progressive Glove', 'Magic Mirror']],
|
||||
|
||||
["Desert Palace - Boss", False, []],
|
||||
["Desert Palace - Boss", False, [], ['Small Key (Desert Palace)']],
|
||||
["Desert Palace - Boss", False, [], ['Big Key (Desert Palace)']],
|
||||
["Desert Palace - Boss", False, [], ['Lamp', 'Fire Rod']],
|
||||
["Desert Palace - Boss", True, ['Progressive Sword', 'Small Key (Desert Palace)', 'Pegasus Boots', 'Lamp', 'Big Key (Desert Palace)']],
|
||||
["Desert Palace - Boss", True, ['Small Key (Desert Palace)', 'Pegasus Boots', 'Fire Rod', 'Big Key (Desert Palace)']],
|
||||
|
||||
["Tower of Hera - Basement Cage", False, []],
|
||||
["Tower of Hera - Basement Cage", False, [], ['Pegasus Boots', "Flute", "Progressive Glove"]],
|
||||
["Tower of Hera - Basement Cage", False, [], ['Pegasus Boots', "Flute", "Lamp"]],
|
||||
["Tower of Hera - Basement Cage", False, [], ['Pegasus Boots', "Magic Mirror", "Hammer"]],
|
||||
["Tower of Hera - Basement Cage", False, [], ['Pegasus Boots', "Magic Mirror", "Hookshot"]],
|
||||
["Tower of Hera - Basement Cage", True, ['Pegasus Boots']],
|
||||
["Tower of Hera - Basement Cage", True, ["Flute", "Magic Mirror"]],
|
||||
["Tower of Hera - Basement Cage", True, ["Progressive Glove", "Lamp", "Magic Mirror"]],
|
||||
["Tower of Hera - Basement Cage", True, ["Flute", "Hookshot", "Hammer"]],
|
||||
["Tower of Hera - Basement Cage", True, ["Progressive Glove", "Lamp", "Magic Mirror"]],
|
||||
|
||||
["Castle Tower - Room 03", False, []],
|
||||
["Castle Tower - Room 03", False, ['Progressive Sword'], ['Progressive Sword', 'Cape', 'Beat Agahnim 1']],
|
||||
["Castle Tower - Room 03", False, [], ['Progressive Sword', 'Hammer', 'Progressive Bow', 'Fire Rod', 'Ice Rod', 'Cane of Somaria', 'Cane of Byrna']],
|
||||
["Castle Tower - Room 03", True, ['Progressive Sword', 'Progressive Sword']],
|
||||
["Castle Tower - Room 03", True, ['Cape', 'Progressive Bow']],
|
||||
["Castle Tower - Room 03", True, ['Beat Agahnim 1', 'Fire Rod']],
|
||||
|
||||
["Palace of Darkness - Shooter Room", False, []],
|
||||
["Palace of Darkness - Shooter Room", False, [], ['Moon Pearl']],
|
||||
["Palace of Darkness - Shooter Room", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Palace of Darkness - Shooter Room", True, ['Moon Pearl', 'Beat Agahnim 1']],
|
||||
["Palace of Darkness - Shooter Room", True, ['Moon Pearl', 'Hammer', 'Progressive Glove']],
|
||||
|
||||
["Palace of Darkness - Shooter Room", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Swamp Palace - Entrance", False, []],
|
||||
["Swamp Palace - Entrance", False, [], ['Magic Mirror']],
|
||||
["Swamp Palace - Entrance", False, [], ['Moon Pearl']],
|
||||
["Swamp Palace - Entrance", False, [], ['Flippers']],
|
||||
["Swamp Palace - Entrance", True, ['Magic Mirror', 'Moon Pearl', 'Flippers', 'Pegasus Boots']],
|
||||
["Swamp Palace - Entrance", True, ['Magic Mirror', 'Moon Pearl', 'Flippers', 'Flute']],
|
||||
["Swamp Palace - Entrance", True, ['Magic Mirror', 'Moon Pearl', 'Flippers', 'Hammer', 'Progressive Glove']],
|
||||
["Swamp Palace - Entrance", True, ['Magic Mirror', 'Moon Pearl', 'Flippers', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Skull Woods - Compass Chest", False, []],
|
||||
["Skull Woods - Compass Chest", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Skull Woods - Compass Chest", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Skull Woods - Big Chest", False, []],
|
||||
["Skull Woods - Big Chest", False, [], ['Big Key (Skull Woods)']],
|
||||
#todo: Bomb Jump in logic?
|
||||
#["Skull Woods - Big Chest", True, ['Magic Mirror', 'Pegasus Boots', 'Big Key (Skull Woods)']],
|
||||
["Skull Woods - Big Chest", True, ['Moon Pearl', 'Pegasus Boots', 'Big Key (Skull Woods)']],
|
||||
|
||||
["Skull Woods - Big Key Chest", False, []],
|
||||
["Skull Woods - Big Key Chest", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Skull Woods - Big Key Chest", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Skull Woods - Bridge Room", False, []],
|
||||
["Skull Woods - Bridge Room", False, [], ['Moon Pearl']],
|
||||
["Skull Woods - Bridge Room", False, [], ['Fire Rod']],
|
||||
["Skull Woods - Bridge Room", True, ['Moon Pearl', 'Pegasus Boots', 'Fire Rod']],
|
||||
|
||||
["Thieves' Town - Map Chest", False, []],
|
||||
["Thieves' Town - Map Chest", False, [], ['Moon Pearl']],
|
||||
["Thieves' Town - Map Chest", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Ice Palace - Compass Chest", False, []],
|
||||
["Ice Palace - Compass Chest", False, [], ['Fire Rod', 'Bombos']],
|
||||
["Ice Palace - Compass Chest", False, [], ['Fire Rod', 'Progressive Sword']],
|
||||
["Ice Palace - Compass Chest", True, ['Moon Pearl', 'Pegasus Boots', 'Flippers', 'Fire Rod']],
|
||||
["Ice Palace - Compass Chest", True, ['Moon Pearl', 'Pegasus Boots', 'Flippers', 'Bombos', 'Progressive Sword']],
|
||||
["Ice Palace - Compass Chest", True, ['Progressive Glove', 'Progressive Glove', 'Fire Rod']],
|
||||
["Ice Palace - Compass Chest", True, ['Progressive Glove', 'Progressive Glove', 'Bombos', 'Progressive Sword']],
|
||||
|
||||
["Misery Mire - Bridge Chest", False, []],
|
||||
["Misery Mire - Bridge Chest", False, [], ['Moon Pearl']],
|
||||
["Misery Mire - Bridge Chest", False, [], ['Ether']],
|
||||
["Misery Mire - Bridge Chest", False, [], ['Progressive Sword']],
|
||||
["Misery Mire - Bridge Chest", True, ['Moon Pearl', 'Pegasus Boots', 'Ether', 'Progressive Sword']],
|
||||
|
||||
["Turtle Rock - Compass Chest", False, []],
|
||||
["Turtle Rock - Compass Chest", False, [], ['Cane of Somaria']],
|
||||
#todo: does clip require sword?
|
||||
#["Turtle Rock - Compass Chest", True, ['Moon Pearl', 'Pegasus Boots', 'Cane of Somaria', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)']],
|
||||
["Turtle Rock - Compass Chest", True, ['Moon Pearl', 'Pegasus Boots', 'Cane of Somaria', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)', 'Progressive Sword']],
|
||||
["Turtle Rock - Compass Chest", True, ['Moon Pearl', 'Pegasus Boots', 'Cane of Somaria', 'Progressive Sword', 'Quake']],
|
||||
["Turtle Rock - Compass Chest", True, ['Pegasus Boots', 'Magic Mirror', 'Cane of Somaria', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)']],
|
||||
|
||||
["Turtle Rock - Chain Chomps", False, []],
|
||||
#todo: does clip require sword?
|
||||
#["Turtle Rock - Chain Chomps", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Turtle Rock - Chain Chomps", True, ['Moon Pearl', 'Pegasus Boots', 'Progressive Sword']],
|
||||
["Turtle Rock - Chain Chomps", True, ['Pegasus Boots', 'Magic Mirror']],
|
||||
|
||||
["Turtle Rock - Crystaroller Room", False, []],
|
||||
["Turtle Rock - Crystaroller Room", False, [], ['Big Key (Turtle Rock)']],
|
||||
#todo: does clip require sword?
|
||||
#["Turtle Rock - Crystaroller Room", True, ['Moon Pearl', 'Pegasus Boots', 'Big Key (Turtle Rock)']],
|
||||
["Turtle Rock - Crystaroller Room", True, ['Moon Pearl', 'Pegasus Boots', 'Big Key (Turtle Rock)', 'Progressive Sword']],
|
||||
["Turtle Rock - Crystaroller Room", True, ['Moon Pearl', 'Pegasus Boots', 'Big Key (Turtle Rock)', 'Hookshot']],
|
||||
["Turtle Rock - Crystaroller Room", True, ['Pegasus Boots', 'Magic Mirror', 'Big Key (Turtle Rock)']],
|
||||
|
||||
["Ganons Tower - Hope Room - Left", False, []],
|
||||
["Ganons Tower - Hope Room - Left", False, ['Moon Pearl', 'Crystal 1']],
|
||||
["Ganons Tower - Hope Room - Left", False, ['Pegasus Boots', 'Crystal 1']],
|
||||
["Ganons Tower - Hope Room - Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Ganons Tower - Hope Room - Left", True, ['Pegasus Boots', 'Hammer', 'Crystal 1', 'Crystal 2', 'Crystal 3', 'Crystal 4', 'Crystal 5', 'Crystal 6', 'Crystal 7']],
|
||||
])
|
||||
194
worlds/alttp/test/owg/TestLightWorld.py
Normal file
194
worlds/alttp/test/owg/TestLightWorld.py
Normal file
@@ -0,0 +1,194 @@
|
||||
from .TestVanillaOWG import TestVanillaOWG
|
||||
|
||||
|
||||
class TestLightWorld(TestVanillaOWG):
|
||||
|
||||
def testLightWorld(self):
|
||||
self.run_location_tests([
|
||||
["Master Sword Pedestal", False, []],
|
||||
["Master Sword Pedestal", False, [], ['Green Pendant']],
|
||||
["Master Sword Pedestal", False, [], ['Red Pendant']],
|
||||
["Master Sword Pedestal", False, [], ['Blue Pendant']],
|
||||
["Master Sword Pedestal", True, ['Green Pendant', 'Red Pendant', 'Blue Pendant']],
|
||||
|
||||
["Link's Uncle", True, []],
|
||||
|
||||
["Secret Passage", True, []],
|
||||
|
||||
["King's Tomb", False, []],
|
||||
["King's Tomb", False, [], ['Pegasus Boots']],
|
||||
["King's Tomb", True, ['Pegasus Boots']],
|
||||
|
||||
["Floodgate Chest", True, []],
|
||||
|
||||
["Link's House", True, []],
|
||||
|
||||
["Kakariko Tavern", True, []],
|
||||
|
||||
["Chicken House", True, []],
|
||||
|
||||
["Aginah's Cave", True, []],
|
||||
|
||||
["Sahasrahla's Hut - Left", True, []],
|
||||
|
||||
["Sahasrahla's Hut - Middle", True, []],
|
||||
|
||||
["Sahasrahla's Hut - Right", True, []],
|
||||
|
||||
["Kakariko Well - Top", True, []],
|
||||
|
||||
["Kakariko Well - Left", True, []],
|
||||
|
||||
["Kakariko Well - Middle", True, []],
|
||||
|
||||
["Kakariko Well - Right", True, []],
|
||||
|
||||
["Kakariko Well - Bottom", True, []],
|
||||
|
||||
["Blind's Hideout - Top", True, []],
|
||||
|
||||
["Blind's Hideout - Left", True, []],
|
||||
|
||||
["Blind's Hideout - Right", True, []],
|
||||
|
||||
["Blind's Hideout - Far Left", True, []],
|
||||
|
||||
["Blind's Hideout - Far Right", True, []],
|
||||
|
||||
["Bonk Rock Cave", False, []],
|
||||
["Bonk Rock Cave", False, [], ['Pegasus Boots']],
|
||||
["Bonk Rock Cave", True, ['Pegasus Boots']],
|
||||
|
||||
["Mini Moldorm Cave - Far Left", True, []],
|
||||
|
||||
["Mini Moldorm Cave - Left", True, []],
|
||||
|
||||
["Mini Moldorm Cave - Right", True, []],
|
||||
|
||||
["Mini Moldorm Cave - Far Right", True, []],
|
||||
|
||||
["Ice Rod Cave", True, []],
|
||||
|
||||
["Bottle Merchant", True, []],
|
||||
|
||||
["Sahasrahla", False, []],
|
||||
["Sahasrahla", False, [], ['Green Pendant']],
|
||||
["Sahasrahla", True, ['Green Pendant']],
|
||||
|
||||
["Magic Bat", False, []],
|
||||
["Magic Bat", False, [], ['Magic Powder']],
|
||||
["Magic Bat", False, [], ['Pegasus Boots', 'Hammer', 'Magic Mirror']],
|
||||
["Magic Bat", False, [], ['Pegasus Boots', 'Hammer', 'Moon Pearl']],
|
||||
["Magic Bat", False, ['Progressive Glove'], ['Pegasus Boots', 'Hammer', 'Progressive Glove']],
|
||||
["Magic Bat", True, ['Magic Powder', 'Pegasus Boots']],
|
||||
["Magic Bat", True, ['Magic Powder', 'Hammer']],
|
||||
["Magic Bat", True, ['Magic Powder', 'Progressive Glove', 'Progressive Glove', 'Moon Pearl', 'Magic Mirror']],
|
||||
|
||||
["Sick Kid", False, []],
|
||||
["Sick Kid", False, [], ['AnyBottle']],
|
||||
["Sick Kid", True, ['Bottle (Bee)']],
|
||||
["Sick Kid", True, ['Bottle (Fairy)']],
|
||||
["Sick Kid", True, ['Bottle (Red Potion)']],
|
||||
["Sick Kid", True, ['Bottle (Green Potion)']],
|
||||
["Sick Kid", True, ['Bottle (Blue Potion)']],
|
||||
["Sick Kid", True, ['Bottle']],
|
||||
["Sick Kid", True, ['Bottle (Good Bee)']],
|
||||
|
||||
["Hobo", True, []],
|
||||
|
||||
["Bombos Tablet", False, []],
|
||||
["Bombos Tablet", False, ['Progressive Sword'], ['Progressive Sword']],
|
||||
["Bombos Tablet", False, [], ['Book of Mudora']],
|
||||
["Bombos Tablet", True, ['Pegasus Boots', 'Book of Mudora', 'Progressive Sword', 'Progressive Sword']],
|
||||
|
||||
["King Zora", True, []],
|
||||
|
||||
["Lost Woods Hideout", True, []],
|
||||
|
||||
["Lumberjack Tree", False, []],
|
||||
["Lumberjack Tree", False, [], ['Pegasus Boots']],
|
||||
["Lumberjack Tree", False, [], ['Beat Agahnim 1']],
|
||||
["Lumberjack Tree", True, ['Pegasus Boots', 'Beat Agahnim 1']],
|
||||
|
||||
["Cave 45", False, []],
|
||||
["Cave 45", False, [], ['Pegasus Boots', 'Magic Mirror']],
|
||||
["Cave 45", False, [], ['Pegasus Boots', 'Moon Pearl', 'Flute', 'Lamp']],
|
||||
["Cave 45", False, [], ['Pegasus Boots', 'Moon Pearl', 'Flute', 'Progressive Glove']],
|
||||
["Cave 45", True, ['Pegasus Boots']],
|
||||
["Cave 45", True, ['Flute', 'Magic Mirror']],
|
||||
["Cave 45", True, ['Progressive Glove', 'Lamp', 'Magic Mirror']],
|
||||
["Cave 45", True, ['Moon Pearl', 'Magic Mirror', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Cave 45", True, ['Moon Pearl', 'Magic Mirror', 'Progressive Glove', 'Hammer']],
|
||||
["Cave 45", True, ['Moon Pearl', 'Magic Mirror', 'Beat Agahnim 1', 'Hammer']],
|
||||
["Cave 45", True, ['Moon Pearl', 'Magic Mirror', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Cave 45", True, ['Moon Pearl', 'Magic Mirror', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Graveyard Cave", False, []],
|
||||
["Graveyard Cave", False, [], ['Pegasus Boots', 'Magic Mirror']],
|
||||
["Graveyard Cave", False, [], ['Pegasus Boots', 'Moon Pearl']],
|
||||
["Graveyard Cave", True, ['Pegasus Boots']],
|
||||
["Graveyard Cave", True, ['Moon Pearl', 'Magic Mirror', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Graveyard Cave", True, ['Moon Pearl', 'Magic Mirror', 'Progressive Glove', 'Hammer']],
|
||||
["Graveyard Cave", True, ['Moon Pearl', 'Magic Mirror', 'Beat Agahnim 1', 'Hammer', 'Hookshot']],
|
||||
["Graveyard Cave", True, ['Moon Pearl', 'Magic Mirror', 'Beat Agahnim 1', 'Progressive Glove', 'Hookshot']],
|
||||
["Graveyard Cave", True, ['Moon Pearl', 'Magic Mirror', 'Beat Agahnim 1', 'Flippers', 'Hookshot']],
|
||||
|
||||
["Checkerboard Cave", False, []],
|
||||
["Checkerboard Cave", False, [], ['Progressive Glove']],
|
||||
["Checkerboard Cave", False, [], ['Pegasus Boots', 'Flute']],
|
||||
["Checkerboard Cave", False, [], ['Pegasus Boots', 'Magic Mirror']],
|
||||
["Checkerboard Cave", True, ['Pegasus Boots', 'Progressive Glove']],
|
||||
["Checkerboard Cave", True, ['Flute', 'Magic Mirror', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Mini Moldorm Cave - Generous Guy", True, []],
|
||||
|
||||
["Library", False, []],
|
||||
["Library", False, [], ['Pegasus Boots']],
|
||||
["Library", True, ['Pegasus Boots']],
|
||||
|
||||
["Mushroom", True, []],
|
||||
|
||||
["Potion Shop", False, []],
|
||||
["Potion Shop", False, [], ['Mushroom']],
|
||||
["Potion Shop", True, ['Mushroom']],
|
||||
|
||||
["Maze Race", True, []],
|
||||
|
||||
["Desert Ledge", False, []],
|
||||
["Desert Ledge", False, [], ['Pegasus Boots', 'Book of Mudora', 'Flute']],
|
||||
["Desert Ledge", False, [], ['Pegasus Boots', 'Book of Mudora', 'Magic Mirror']],
|
||||
["Desert Ledge", False, ['Progressive Glove'], ['Pegasus Boots', 'Book of Mudora', 'Progressive Glove']],
|
||||
["Desert Ledge", True, ['Pegasus Boots']],
|
||||
["Desert Ledge", True, ['Book of Mudora']],
|
||||
["Desert Ledge", True, ['Flute', 'Magic Mirror', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Lake Hylia Island", False, []],
|
||||
["Lake Hylia Island", False, [], ['Pegasus Boots', 'Magic Mirror']],
|
||||
["Lake Hylia Island", False, [], ['Pegasus Boots', 'Moon Pearl']],
|
||||
["Lake Hylia Island", False, [], ['Pegasus Boots', 'Flippers']],
|
||||
["Lake Hylia Island", True, ['Pegasus Boots']],
|
||||
["Lake Hylia Island", True, ['Flippers', 'Moon Pearl', 'Magic Mirror', 'Progressive Glove', 'Progressive Glove']],
|
||||
["Lake Hylia Island", True, ['Flippers', 'Moon Pearl', 'Magic Mirror', 'Progressive Glove', 'Hammer']],
|
||||
["Lake Hylia Island", True, ['Flippers', 'Moon Pearl', 'Magic Mirror', 'Beat Agahnim 1']],
|
||||
|
||||
["Sunken Treasure", True, []],
|
||||
|
||||
["Zora's Ledge", False, []],
|
||||
["Zora's Ledge", False, [], ['Pegasus Boots', 'Flippers']],
|
||||
["Zora's Ledge", True, ['Pegasus Boots']],
|
||||
["Zora's Ledge", True, ['Flippers']],
|
||||
|
||||
["Flute Spot", False, []],
|
||||
["Flute Spot", False, [], ['Shovel']],
|
||||
["Flute Spot", True, ['Shovel']],
|
||||
|
||||
["Waterfall Fairy - Left", False, []],
|
||||
["Waterfall Fairy - Left", True, ['Flippers']],
|
||||
["Waterfall Fairy - Left", True, ['Moon Pearl']],
|
||||
["Waterfall Fairy - Left", True, ['Pegasus Boots']],
|
||||
|
||||
["Waterfall Fairy - Right", False, []],
|
||||
["Waterfall Fairy - Right", True, ['Flippers']],
|
||||
["Waterfall Fairy - Right", True, ['Moon Pearl']],
|
||||
["Waterfall Fairy - Right", True, ['Pegasus Boots']]
|
||||
])
|
||||
38
worlds/alttp/test/owg/TestVanillaOWG.py
Normal file
38
worlds/alttp/test/owg/TestVanillaOWG.py
Normal file
@@ -0,0 +1,38 @@
|
||||
from argparse import Namespace
|
||||
|
||||
from BaseClasses import MultiWorld
|
||||
from worlds.alttp.Dungeons import create_dungeons, get_dungeon_item_pool
|
||||
from worlds.alttp.EntranceShuffle import link_entrances
|
||||
from worlds.alttp.InvertedRegions import mark_dark_world_regions
|
||||
from worlds.alttp.ItemPool import difficulties, generate_itempool
|
||||
from worlds.alttp.Items import ItemFactory
|
||||
from worlds.alttp.Regions import create_regions
|
||||
from worlds.alttp.Shops import create_shops
|
||||
from worlds.alttp.Rules import set_rules
|
||||
from test.TestBase import TestBase
|
||||
|
||||
from worlds import AutoWorld
|
||||
|
||||
|
||||
class TestVanillaOWG(TestBase):
|
||||
def setUp(self):
|
||||
self.multiworld = MultiWorld(1)
|
||||
args = Namespace()
|
||||
for name, option in AutoWorld.AutoWorldRegister.world_types["A Link to the Past"].option_definitions.items():
|
||||
setattr(args, name, {1: option.from_any(option.default)})
|
||||
self.multiworld.set_options(args)
|
||||
self.multiworld.set_default_common_options()
|
||||
self.multiworld.difficulty_requirements[1] = difficulties['normal']
|
||||
self.multiworld.logic[1] = "owglitches"
|
||||
self.multiworld.worlds[1].er_seed = 0
|
||||
self.multiworld.worlds[1].create_regions()
|
||||
self.multiworld.worlds[1].create_items()
|
||||
self.multiworld.required_medallions[1] = ['Ether', 'Quake']
|
||||
self.multiworld.itempool.extend(get_dungeon_item_pool(self.multiworld))
|
||||
self.multiworld.itempool.extend(ItemFactory(['Green Pendant', 'Red Pendant', 'Blue Pendant', 'Beat Agahnim 1', 'Beat Agahnim 2', 'Crystal 1', 'Crystal 2', 'Crystal 3', 'Crystal 4', 'Crystal 5', 'Crystal 6', 'Crystal 7'], 1))
|
||||
self.multiworld.get_location('Agahnim 1', 1).item = None
|
||||
self.multiworld.get_location('Agahnim 2', 1).item = None
|
||||
self.multiworld.precollected_items[1].clear()
|
||||
self.multiworld.itempool.append(ItemFactory('Pegasus Boots', 1))
|
||||
mark_dark_world_regions(self.multiworld, 1)
|
||||
self.multiworld.worlds[1].set_rules()
|
||||
0
worlds/alttp/test/owg/__init__.py
Normal file
0
worlds/alttp/test/owg/__init__.py
Normal file
Reference in New Issue
Block a user