50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
| from . import MCTestBase
 | |
| from ..Constants import region_info
 | |
| from .. import Options
 | |
| 
 | |
| from BaseClasses import ItemClassification
 | |
| 
 | |
| class AdvancementTestBase(MCTestBase):
 | |
|     options = {
 | |
|         "advancement_goal": Options.AdvancementGoal.range_end
 | |
|     }
 | |
|     # beatability test implicit
 | |
| 
 | |
| class ShardTestBase(MCTestBase):
 | |
|     options = {
 | |
|         "egg_shards_required": Options.EggShardsRequired.range_end,
 | |
|         "egg_shards_available": Options.EggShardsAvailable.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": Options.BeeTraps.range_start
 | |
|     }
 | |
| 
 | |
|     # 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": Options.BeeTraps.range_end
 | |
|     }
 | |
| 
 | |
|     # 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
 |