24 lines
1013 B
Python
24 lines
1013 B
Python
from typing import Dict
|
|
|
|
from . import RLTestBase
|
|
from worlds.rogue_legacy.Items import RLItemData, item_table
|
|
from worlds.rogue_legacy.Locations import RLLocationData, location_table
|
|
|
|
|
|
class UniqueTest(RLTestBase):
|
|
@staticmethod
|
|
def test_item_ids_are_all_unique():
|
|
item_ids: Dict[int, str] = {}
|
|
for name, data in item_table.items():
|
|
assert data.code not in item_ids.keys(), f"'{name}': {data.code}, is not unique. " \
|
|
f"'{item_ids[data.code]}' also has this identifier."
|
|
item_ids[data.code] = name
|
|
|
|
@staticmethod
|
|
def test_location_ids_are_all_unique():
|
|
location_ids: Dict[int, str] = {}
|
|
for name, data in location_table.items():
|
|
assert data.code not in location_ids.keys(), f"'{name}': {data.code}, is not unique. " \
|
|
f"'{location_ids[data.code]}' also has this identifier."
|
|
location_ids[data.code] = name
|