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

227 lines
11 KiB
Python

import unittest
from typing import Set
from ...data.fish_data import get_fish_for_mods
from ...mods.mod_data import ModNames
from ...strings.fish_names import Fish, SVEFish
no_mods: Set[str] = set()
sve: Set[str] = {ModNames.sve}
class TestGetFishForMods(unittest.TestCase):
def test_no_mods_all_vanilla_fish(self):
all_fish = get_fish_for_mods(no_mods)
fish_names = {fish.name for fish in all_fish}
self.assertIn(Fish.albacore, fish_names)
self.assertIn(Fish.anchovy, fish_names)
self.assertIn(Fish.blue_discus, fish_names)
self.assertIn(Fish.bream, fish_names)
self.assertIn(Fish.bullhead, fish_names)
self.assertIn(Fish.carp, fish_names)
self.assertIn(Fish.catfish, fish_names)
self.assertIn(Fish.chub, fish_names)
self.assertIn(Fish.dorado, fish_names)
self.assertIn(Fish.eel, fish_names)
self.assertIn(Fish.flounder, fish_names)
self.assertIn(Fish.ghostfish, fish_names)
self.assertIn(Fish.halibut, fish_names)
self.assertIn(Fish.herring, fish_names)
self.assertIn(Fish.ice_pip, fish_names)
self.assertIn(Fish.largemouth_bass, fish_names)
self.assertIn(Fish.lava_eel, fish_names)
self.assertIn(Fish.lingcod, fish_names)
self.assertIn(Fish.lionfish, fish_names)
self.assertIn(Fish.midnight_carp, fish_names)
self.assertIn(Fish.octopus, fish_names)
self.assertIn(Fish.perch, fish_names)
self.assertIn(Fish.pike, fish_names)
self.assertIn(Fish.pufferfish, fish_names)
self.assertIn(Fish.rainbow_trout, fish_names)
self.assertIn(Fish.red_mullet, fish_names)
self.assertIn(Fish.red_snapper, fish_names)
self.assertIn(Fish.salmon, fish_names)
self.assertIn(Fish.sandfish, fish_names)
self.assertIn(Fish.sardine, fish_names)
self.assertIn(Fish.scorpion_carp, fish_names)
self.assertIn(Fish.sea_cucumber, fish_names)
self.assertIn(Fish.shad, fish_names)
self.assertIn(Fish.slimejack, fish_names)
self.assertIn(Fish.smallmouth_bass, fish_names)
self.assertIn(Fish.squid, fish_names)
self.assertIn(Fish.stingray, fish_names)
self.assertIn(Fish.stonefish, fish_names)
self.assertIn(Fish.sturgeon, fish_names)
self.assertIn(Fish.sunfish, fish_names)
self.assertIn(Fish.super_cucumber, fish_names)
self.assertIn(Fish.tiger_trout, fish_names)
self.assertIn(Fish.tilapia, fish_names)
self.assertIn(Fish.tuna, fish_names)
self.assertIn(Fish.void_salmon, fish_names)
self.assertIn(Fish.walleye, fish_names)
self.assertIn(Fish.woodskip, fish_names)
self.assertIn(Fish.blob_fish, fish_names)
self.assertIn(Fish.midnight_squid, fish_names)
self.assertIn(Fish.spook_fish, fish_names)
self.assertIn(Fish.angler, fish_names)
self.assertIn(Fish.crimsonfish, fish_names)
self.assertIn(Fish.glacierfish, fish_names)
self.assertIn(Fish.legend, fish_names)
self.assertIn(Fish.mutant_carp, fish_names)
self.assertIn(Fish.ms_angler, fish_names)
self.assertIn(Fish.son_of_crimsonfish, fish_names)
self.assertIn(Fish.glacierfish_jr, fish_names)
self.assertIn(Fish.legend_ii, fish_names)
self.assertIn(Fish.radioactive_carp, fish_names)
self.assertIn(Fish.clam, fish_names)
self.assertIn(Fish.cockle, fish_names)
self.assertIn(Fish.crab, fish_names)
self.assertIn(Fish.crayfish, fish_names)
self.assertIn(Fish.lobster, fish_names)
self.assertIn(Fish.mussel, fish_names)
self.assertIn(Fish.oyster, fish_names)
self.assertIn(Fish.periwinkle, fish_names)
self.assertIn(Fish.shrimp, fish_names)
self.assertIn(Fish.snail, fish_names)
def test_no_mods_no_sve_fish(self):
all_fish = get_fish_for_mods(no_mods)
fish_names = {fish.name for fish in all_fish}
self.assertNotIn(SVEFish.baby_lunaloo, fish_names)
self.assertNotIn(SVEFish.bonefish, fish_names)
self.assertNotIn(SVEFish.bull_trout, fish_names)
self.assertNotIn(SVEFish.butterfish, fish_names)
self.assertNotIn(SVEFish.clownfish, fish_names)
self.assertNotIn(SVEFish.daggerfish, fish_names)
self.assertNotIn(SVEFish.frog, fish_names)
self.assertNotIn(SVEFish.gemfish, fish_names)
self.assertNotIn(SVEFish.goldenfish, fish_names)
self.assertNotIn(SVEFish.grass_carp, fish_names)
self.assertNotIn(SVEFish.king_salmon, fish_names)
self.assertNotIn(SVEFish.kittyfish, fish_names)
self.assertNotIn(SVEFish.lunaloo, fish_names)
self.assertNotIn(SVEFish.meteor_carp, fish_names)
self.assertNotIn(SVEFish.minnow, fish_names)
self.assertNotIn(SVEFish.puppyfish, fish_names)
self.assertNotIn(SVEFish.radioactive_bass, fish_names)
self.assertNotIn(SVEFish.seahorse, fish_names)
self.assertNotIn(SVEFish.shiny_lunaloo, fish_names)
self.assertNotIn(SVEFish.snatcher_worm, fish_names)
self.assertNotIn(SVEFish.starfish, fish_names)
self.assertNotIn(SVEFish.torpedo_trout, fish_names)
self.assertNotIn(SVEFish.undeadfish, fish_names)
self.assertNotIn(SVEFish.void_eel, fish_names)
self.assertNotIn(SVEFish.water_grub, fish_names)
self.assertNotIn(SVEFish.sea_sponge, fish_names)
self.assertNotIn(SVEFish.dulse_seaweed, fish_names)
def test_sve_all_vanilla_fish(self):
all_fish = get_fish_for_mods(no_mods)
fish_names = {fish.name for fish in all_fish}
self.assertIn(Fish.albacore, fish_names)
self.assertIn(Fish.anchovy, fish_names)
self.assertIn(Fish.blue_discus, fish_names)
self.assertIn(Fish.bream, fish_names)
self.assertIn(Fish.bullhead, fish_names)
self.assertIn(Fish.carp, fish_names)
self.assertIn(Fish.catfish, fish_names)
self.assertIn(Fish.chub, fish_names)
self.assertIn(Fish.dorado, fish_names)
self.assertIn(Fish.eel, fish_names)
self.assertIn(Fish.flounder, fish_names)
self.assertIn(Fish.ghostfish, fish_names)
self.assertIn(Fish.halibut, fish_names)
self.assertIn(Fish.herring, fish_names)
self.assertIn(Fish.ice_pip, fish_names)
self.assertIn(Fish.largemouth_bass, fish_names)
self.assertIn(Fish.lava_eel, fish_names)
self.assertIn(Fish.lingcod, fish_names)
self.assertIn(Fish.lionfish, fish_names)
self.assertIn(Fish.midnight_carp, fish_names)
self.assertIn(Fish.octopus, fish_names)
self.assertIn(Fish.perch, fish_names)
self.assertIn(Fish.pike, fish_names)
self.assertIn(Fish.pufferfish, fish_names)
self.assertIn(Fish.rainbow_trout, fish_names)
self.assertIn(Fish.red_mullet, fish_names)
self.assertIn(Fish.red_snapper, fish_names)
self.assertIn(Fish.salmon, fish_names)
self.assertIn(Fish.sandfish, fish_names)
self.assertIn(Fish.sardine, fish_names)
self.assertIn(Fish.scorpion_carp, fish_names)
self.assertIn(Fish.sea_cucumber, fish_names)
self.assertIn(Fish.shad, fish_names)
self.assertIn(Fish.slimejack, fish_names)
self.assertIn(Fish.smallmouth_bass, fish_names)
self.assertIn(Fish.squid, fish_names)
self.assertIn(Fish.stingray, fish_names)
self.assertIn(Fish.stonefish, fish_names)
self.assertIn(Fish.sturgeon, fish_names)
self.assertIn(Fish.sunfish, fish_names)
self.assertIn(Fish.super_cucumber, fish_names)
self.assertIn(Fish.tiger_trout, fish_names)
self.assertIn(Fish.tilapia, fish_names)
self.assertIn(Fish.tuna, fish_names)
self.assertIn(Fish.void_salmon, fish_names)
self.assertIn(Fish.walleye, fish_names)
self.assertIn(Fish.woodskip, fish_names)
self.assertIn(Fish.blob_fish, fish_names)
self.assertIn(Fish.midnight_squid, fish_names)
self.assertIn(Fish.spook_fish, fish_names)
self.assertIn(Fish.angler, fish_names)
self.assertIn(Fish.crimsonfish, fish_names)
self.assertIn(Fish.glacierfish, fish_names)
self.assertIn(Fish.legend, fish_names)
self.assertIn(Fish.mutant_carp, fish_names)
self.assertIn(Fish.ms_angler, fish_names)
self.assertIn(Fish.son_of_crimsonfish, fish_names)
self.assertIn(Fish.glacierfish_jr, fish_names)
self.assertIn(Fish.legend_ii, fish_names)
self.assertIn(Fish.radioactive_carp, fish_names)
self.assertIn(Fish.clam, fish_names)
self.assertIn(Fish.cockle, fish_names)
self.assertIn(Fish.crab, fish_names)
self.assertIn(Fish.crayfish, fish_names)
self.assertIn(Fish.lobster, fish_names)
self.assertIn(Fish.mussel, fish_names)
self.assertIn(Fish.oyster, fish_names)
self.assertIn(Fish.periwinkle, fish_names)
self.assertIn(Fish.shrimp, fish_names)
self.assertIn(Fish.snail, fish_names)
def test_sve_has_sve_fish(self):
all_fish = get_fish_for_mods(sve)
fish_names = {fish.name for fish in all_fish}
self.assertIn(SVEFish.baby_lunaloo, fish_names)
self.assertIn(SVEFish.bonefish, fish_names)
self.assertIn(SVEFish.bull_trout, fish_names)
self.assertIn(SVEFish.butterfish, fish_names)
self.assertIn(SVEFish.clownfish, fish_names)
self.assertIn(SVEFish.daggerfish, fish_names)
self.assertIn(SVEFish.frog, fish_names)
self.assertIn(SVEFish.gemfish, fish_names)
self.assertIn(SVEFish.goldenfish, fish_names)
self.assertIn(SVEFish.grass_carp, fish_names)
self.assertIn(SVEFish.king_salmon, fish_names)
self.assertIn(SVEFish.kittyfish, fish_names)
self.assertIn(SVEFish.lunaloo, fish_names)
self.assertIn(SVEFish.meteor_carp, fish_names)
self.assertIn(SVEFish.minnow, fish_names)
self.assertIn(SVEFish.puppyfish, fish_names)
self.assertIn(SVEFish.radioactive_bass, fish_names)
self.assertIn(SVEFish.seahorse, fish_names)
self.assertIn(SVEFish.shiny_lunaloo, fish_names)
self.assertIn(SVEFish.snatcher_worm, fish_names)
self.assertIn(SVEFish.starfish, fish_names)
self.assertIn(SVEFish.torpedo_trout, fish_names)
self.assertIn(SVEFish.undeadfish, fish_names)
self.assertIn(SVEFish.void_eel, fish_names)
self.assertIn(SVEFish.water_grub, fish_names)
self.assertIn(SVEFish.sea_sponge, fish_names)
self.assertIn(SVEFish.dulse_seaweed, fish_names)