50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from . import MCTestBase | ||
|  | from ..Constants import region_info | ||
|  | from ..Options import minecraft_options | ||
|  | 
 | ||
|  | from BaseClasses import ItemClassification | ||
|  | 
 | ||
|  | class AdvancementTestBase(MCTestBase): | ||
|  |     options = { | ||
|  |         "advancement_goal": minecraft_options["advancement_goal"].range_end | ||
|  |     } | ||
|  |     # beatability test implicit | ||
|  | 
 | ||
|  | class ShardTestBase(MCTestBase): | ||
|  |     options = { | ||
|  |         "egg_shards_required": minecraft_options["egg_shards_required"].range_end, | ||
|  |         "egg_shards_available": minecraft_options["egg_shards_available"].range_end | ||
|  |     } | ||
|  | 
 | ||
|  |     # check that itempool is not overfilled with shards | ||
|  |     def test_itempool(self): | ||
|  |         assert len(self.multiworld.get_unfilled_locations()) == len(self.multiworld.itempool) | ||
|  | 
 | ||
|  | class CompassTestBase(MCTestBase): | ||
|  |     def test_compasses_in_pool(self): | ||
|  |         structures = [x[1] for x in region_info["default_connections"]] | ||
|  |         itempool_str = {item.name for item in self.multiworld.itempool} | ||
|  |         for struct in structures: | ||
|  |             assert f"Structure Compass ({struct})" in itempool_str | ||
|  | 
 | ||
|  | class NoBeeTestBase(MCTestBase): | ||
|  |     options = { | ||
|  |         "bee_traps": 0 | ||
|  |     } | ||
|  | 
 | ||
|  |     # With no bees, there are no traps in the pool | ||
|  |     def test_bees(self): | ||
|  |         for item in self.multiworld.itempool: | ||
|  |             assert item.classification != ItemClassification.trap | ||
|  | 
 | ||
|  | 
 | ||
|  | class AllBeeTestBase(MCTestBase): | ||
|  |     options = { | ||
|  |         "bee_traps": 100 | ||
|  |     } | ||
|  | 
 | ||
|  |     # With max bees, there are no filler items, only bee traps | ||
|  |     def test_bees(self): | ||
|  |         for item in self.multiworld.itempool: | ||
|  |             assert item.classification != ItemClassification.filler |