26 lines
		
	
	
		
			980 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			980 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import unittest
 | 
						|
from worlds import subnautica
 | 
						|
 | 
						|
 | 
						|
class SubnauticaTest(unittest.TestCase):
 | 
						|
    # This is an assumption in the mod side
 | 
						|
    scancutoff: int = 33999
 | 
						|
 | 
						|
    def testIDRange(self):
 | 
						|
        for name, id in subnautica.SubnauticaWorld.location_name_to_id.items():
 | 
						|
            with self.subTest(location=name):
 | 
						|
                if "Scan" in name:
 | 
						|
                    self.assertLess(self.scancutoff, id)
 | 
						|
                else:
 | 
						|
                    self.assertGreater(self.scancutoff, id)
 | 
						|
 | 
						|
    def testGroupAssociation(self):
 | 
						|
        from worlds.subnautica import items
 | 
						|
        for item_id, item_data in items.item_table.items():
 | 
						|
            if item_data.type == items.ItemType.group:
 | 
						|
                with self.subTest(item=item_data.name):
 | 
						|
                    self.assertIn(item_id, items.group_items)
 | 
						|
        for item_id in items.group_items:
 | 
						|
            with self.subTest(item_id=item_id):
 | 
						|
                self.assertEqual(items.item_table[item_id].type, items.ItemType.group)
 |