| 
									
										
										
										
											2023-02-26 09:48:41 +01:00
										 |  |  | import unittest | 
					
						
							|  |  |  | from worlds import subnautica | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SubnauticaTest(unittest.TestCase): | 
					
						
							|  |  |  |     # This is an assumption in the mod side | 
					
						
							|  |  |  |     scancutoff: int = 33999 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def testIDRange(self): | 
					
						
							| 
									
										
										
										
											2023-02-26 09:51:02 +01:00
										 |  |  |         for name, id in subnautica.SubnauticaWorld.location_name_to_id.items(): | 
					
						
							| 
									
										
										
										
											2023-05-25 22:57:15 +02:00
										 |  |  |             with self.subTest(location=name): | 
					
						
							| 
									
										
										
										
											2023-02-26 09:48:41 +01:00
										 |  |  |                 if "Scan" in name: | 
					
						
							|  |  |  |                     self.assertLess(self.scancutoff, id) | 
					
						
							| 
									
										
										
										
											2023-02-26 09:51:02 +01:00
										 |  |  |                 else: | 
					
						
							|  |  |  |                     self.assertGreater(self.scancutoff, id) | 
					
						
							| 
									
										
										
										
											2023-05-25 22:57:15 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def testGroupAssociation(self): | 
					
						
							| 
									
										
										
										
											2023-10-15 04:51:52 +02:00
										 |  |  |         from worlds.subnautica import items | 
					
						
							|  |  |  |         for item_id, item_data in items.item_table.items(): | 
					
						
							|  |  |  |             if item_data.type == items.ItemType.group: | 
					
						
							| 
									
										
										
										
											2023-05-25 22:57:15 +02:00
										 |  |  |                 with self.subTest(item=item_data.name): | 
					
						
							| 
									
										
										
										
											2023-10-15 04:51:52 +02:00
										 |  |  |                     self.assertIn(item_id, items.group_items) | 
					
						
							|  |  |  |         for item_id in items.group_items: | 
					
						
							| 
									
										
										
										
											2023-05-25 22:57:15 +02:00
										 |  |  |             with self.subTest(item_id=item_id): | 
					
						
							| 
									
										
										
										
											2023-10-15 04:51:52 +02:00
										 |  |  |                 self.assertEqual(items.item_table[item_id].type, items.ItemType.group) |