2023-07-24 23:52:15 +00:00
|
|
|
from . import SVTestBase
|
|
|
|
from .. import options
|
|
|
|
|
|
|
|
|
|
|
|
class TestBackpackVanilla(SVTestBase):
|
|
|
|
options = {options.BackpackProgression.internal_name: options.BackpackProgression.option_vanilla}
|
|
|
|
|
2023-10-27 22:18:33 +00:00
|
|
|
def test_no_backpack(self):
|
|
|
|
with self.subTest("no items"):
|
|
|
|
item_names = {item.name for item in self.multiworld.get_items()}
|
|
|
|
self.assertNotIn("Progressive Backpack", item_names)
|
2023-07-24 23:52:15 +00:00
|
|
|
|
2023-10-27 22:18:33 +00:00
|
|
|
with self.subTest("no locations"):
|
|
|
|
location_names = {location.name for location in self.multiworld.get_locations()}
|
|
|
|
self.assertNotIn("Large Pack", location_names)
|
|
|
|
self.assertNotIn("Deluxe Pack", location_names)
|
2023-07-24 23:52:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
class TestBackpackProgressive(SVTestBase):
|
|
|
|
options = {options.BackpackProgression.internal_name: options.BackpackProgression.option_progressive}
|
|
|
|
|
2023-10-27 22:18:33 +00:00
|
|
|
def test_backpack(self):
|
|
|
|
with self.subTest(check="has items"):
|
|
|
|
item_names = [item.name for item in self.multiworld.get_items()]
|
|
|
|
self.assertEqual(item_names.count("Progressive Backpack"), 2)
|
2023-07-24 23:52:15 +00:00
|
|
|
|
2023-10-27 22:18:33 +00:00
|
|
|
with self.subTest(check="has locations"):
|
|
|
|
location_names = {location.name for location in self.multiworld.get_locations()}
|
|
|
|
self.assertIn("Large Pack", location_names)
|
|
|
|
self.assertIn("Deluxe Pack", location_names)
|
2023-07-24 23:52:15 +00:00
|
|
|
|
|
|
|
|
2023-10-27 22:18:33 +00:00
|
|
|
class TestBackpackEarlyProgressive(TestBackpackProgressive):
|
2023-07-24 23:52:15 +00:00
|
|
|
options = {options.BackpackProgression.internal_name: options.BackpackProgression.option_early_progressive}
|
|
|
|
|
2023-10-27 22:18:33 +00:00
|
|
|
@property
|
|
|
|
def run_default_tests(self) -> bool:
|
|
|
|
# EarlyProgressive is default
|
|
|
|
return False
|
2023-07-24 23:52:15 +00:00
|
|
|
|
2023-10-27 22:18:33 +00:00
|
|
|
def test_backpack(self):
|
|
|
|
super().test_backpack()
|
2023-07-24 23:52:15 +00:00
|
|
|
|
2023-10-27 22:18:33 +00:00
|
|
|
with self.subTest(check="is early"):
|
|
|
|
self.assertIn("Progressive Backpack", self.multiworld.early_items[1])
|