Archipelago/worlds/stardew_valley/test/mods/TestBiggerBackpack.py

53 lines
2.0 KiB
Python

from .. import SVTestBase
from ...mods.mod_data import ModNames
from ...options import Mods, BackpackProgression
class TestBiggerBackpackVanilla(SVTestBase):
options = {
BackpackProgression.internal_name: BackpackProgression.option_vanilla,
Mods.internal_name: ModNames.big_backpack
}
def test_no_backpack(self):
with self.subTest(check="no items"):
item_names = {item.name for item in self.multiworld.get_items()}
self.assertNotIn("Progressive Backpack", item_names)
with self.subTest(check="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)
self.assertNotIn("Premium Pack", location_names)
class TestBiggerBackpackProgressive(SVTestBase):
options = {
BackpackProgression.internal_name: BackpackProgression.option_progressive,
Mods.internal_name: ModNames.big_backpack
}
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"), 3)
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)
self.assertIn("Premium Pack", location_names)
class TestBiggerBackpackEarlyProgressive(TestBiggerBackpackProgressive):
options = {
BackpackProgression.internal_name: BackpackProgression.option_early_progressive,
Mods.internal_name: ModNames.big_backpack
}
def test_backpack(self):
super().test_backpack()
with self.subTest(check="is early"):
self.assertIn("Progressive Backpack", self.multiworld.early_items[1])