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 |