61 lines
2.1 KiB
Python
61 lines
2.1 KiB
Python
import unittest
|
|
|
|
from .. import Constants
|
|
|
|
class TestDataLoad(unittest.TestCase):
|
|
|
|
def test_item_data(self):
|
|
item_info = Constants.item_info
|
|
|
|
# All items in sub-tables are in all_items
|
|
all_items: set = set(item_info['all_items'])
|
|
assert set(item_info['progression_items']) <= all_items
|
|
assert set(item_info['useful_items']) <= all_items
|
|
assert set(item_info['trap_items']) <= all_items
|
|
assert set(item_info['required_pool'].keys()) <= all_items
|
|
assert set(item_info['junk_weights'].keys()) <= all_items
|
|
|
|
# No overlapping ids (because of bee trap stuff)
|
|
all_ids: set = set(Constants.item_name_to_id.values())
|
|
assert len(all_items) == len(all_ids)
|
|
|
|
def test_location_data(self):
|
|
location_info = Constants.location_info
|
|
exclusion_info = Constants.exclusion_info
|
|
|
|
# Every location has a region and every region's locations are in all_locations
|
|
all_locations: set = set(location_info['all_locations'])
|
|
all_locs_2: set = set()
|
|
for v in location_info['locations_by_region'].values():
|
|
all_locs_2.update(v)
|
|
assert all_locations == all_locs_2
|
|
|
|
# All exclusions are locations
|
|
for v in exclusion_info.values():
|
|
assert set(v) <= all_locations
|
|
|
|
def test_region_data(self):
|
|
region_info = Constants.region_info
|
|
|
|
# Every entrance and region in mandatory/default/illegal connections is a real entrance and region
|
|
all_regions = set()
|
|
all_entrances = set()
|
|
for v in region_info['regions']:
|
|
assert isinstance(v[0], str)
|
|
assert isinstance(v[1], list)
|
|
all_regions.add(v[0])
|
|
all_entrances.update(v[1])
|
|
|
|
for v in region_info['mandatory_connections']:
|
|
assert v[0] in all_entrances
|
|
assert v[1] in all_regions
|
|
|
|
for v in region_info['default_connections']:
|
|
assert v[0] in all_entrances
|
|
assert v[1] in all_regions
|
|
|
|
for k, v in region_info['illegal_connections'].items():
|
|
assert k in all_regions
|
|
assert set(v) <= all_entrances
|
|
|