mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Stardew Valley: Cut tests by 3 minutes (#2375)
* Stardew Valley: Test: unify mods * Stardew Valley: Test: don't use SVTestBase where setUp is unused * Stardew Valley: Test: remove duplicate backpack test * Stardew Valley: Test: remove 2,3,4 heart tests assume the math is correct with just 2 points on the curve * Stardew Valley: Test: reduce duplicate test/gen runs * Stardew Valley: Test: Change 'long' tests to not use TestBase TestBase' setUp is not being used in the changed TestCases * Stardew Valley: Test: Use subtests and inheritance for backpacks * Stardew Valley: Test: add flag to skip some of the extensive tests by default
This commit is contained in:
@@ -5,40 +5,41 @@ from .. import options
|
||||
class TestBackpackVanilla(SVTestBase):
|
||||
options = {options.BackpackProgression.internal_name: options.BackpackProgression.option_vanilla}
|
||||
|
||||
def test_no_backpack_in_pool(self):
|
||||
item_names = {item.name for item in self.multiworld.get_items()}
|
||||
self.assertNotIn("Progressive Backpack", item_names)
|
||||
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)
|
||||
|
||||
def test_no_backpack_locations(self):
|
||||
location_names = {location.name for location in self.multiworld.get_locations()}
|
||||
self.assertNotIn("Large Pack", location_names)
|
||||
self.assertNotIn("Deluxe Pack", location_names)
|
||||
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)
|
||||
|
||||
|
||||
class TestBackpackProgressive(SVTestBase):
|
||||
options = {options.BackpackProgression.internal_name: options.BackpackProgression.option_progressive}
|
||||
|
||||
def test_backpack_is_in_pool_2_times(self):
|
||||
item_names = [item.name for item in self.multiworld.get_items()]
|
||||
self.assertEqual(item_names.count("Progressive Backpack"), 2)
|
||||
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)
|
||||
|
||||
def test_2_backpack_locations(self):
|
||||
location_names = {location.name for location in self.multiworld.get_locations()}
|
||||
self.assertIn("Large Pack", location_names)
|
||||
self.assertIn("Deluxe Pack", location_names)
|
||||
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)
|
||||
|
||||
|
||||
class TestBackpackEarlyProgressive(SVTestBase):
|
||||
class TestBackpackEarlyProgressive(TestBackpackProgressive):
|
||||
options = {options.BackpackProgression.internal_name: options.BackpackProgression.option_early_progressive}
|
||||
|
||||
def test_backpack_is_in_pool_2_times(self):
|
||||
item_names = [item.name for item in self.multiworld.get_items()]
|
||||
self.assertEqual(item_names.count("Progressive Backpack"), 2)
|
||||
@property
|
||||
def run_default_tests(self) -> bool:
|
||||
# EarlyProgressive is default
|
||||
return False
|
||||
|
||||
def test_2_backpack_locations(self):
|
||||
location_names = {location.name for location in self.multiworld.get_locations()}
|
||||
self.assertIn("Large Pack", location_names)
|
||||
self.assertIn("Deluxe Pack", location_names)
|
||||
def test_backpack(self):
|
||||
super().test_backpack()
|
||||
|
||||
def test_progressive_backpack_is_in_early_pool(self):
|
||||
self.assertIn("Progressive Backpack", self.multiworld.early_items[1])
|
||||
with self.subTest(check="is early"):
|
||||
self.assertIn("Progressive Backpack", self.multiworld.early_items[1])
|
||||
|
||||
Reference in New Issue
Block a user