106 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			106 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from . import SVTestBase | ||
|  | from .. import BuildingProgression | ||
|  | from ..options import ToolProgression | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestBitFlagsVanilla(SVTestBase): | ||
|  |     options = {ToolProgression.internal_name: ToolProgression.option_vanilla, | ||
|  |                BuildingProgression.internal_name: BuildingProgression.option_vanilla} | ||
|  | 
 | ||
|  |     def test_options_are_not_detected_as_progressive(self): | ||
|  |         world_options = self.world.options | ||
|  |         tool_progressive = world_options.tool_progression & ToolProgression.option_progressive | ||
|  |         building_progressive = world_options.building_progression & BuildingProgression.option_progressive | ||
|  |         self.assertFalse(tool_progressive) | ||
|  |         self.assertFalse(building_progressive) | ||
|  | 
 | ||
|  |     def test_tools_and_buildings_not_in_pool(self): | ||
|  |         item_names = [item.name for item in self.multiworld.itempool] | ||
|  |         self.assertNotIn("Progressive Coop", item_names) | ||
|  |         self.assertNotIn("Progressive Pickaxe", item_names) | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestBitFlagsVanillaCheap(SVTestBase): | ||
|  |     options = {ToolProgression.internal_name: ToolProgression.option_vanilla_cheap, | ||
|  |                BuildingProgression.internal_name: BuildingProgression.option_vanilla_cheap} | ||
|  | 
 | ||
|  |     def test_options_are_not_detected_as_progressive(self): | ||
|  |         world_options = self.world.options | ||
|  |         tool_progressive = world_options.tool_progression & ToolProgression.option_progressive | ||
|  |         building_progressive = world_options.building_progression & BuildingProgression.option_progressive | ||
|  |         self.assertFalse(tool_progressive) | ||
|  |         self.assertFalse(building_progressive) | ||
|  | 
 | ||
|  |     def test_tools_and_buildings_not_in_pool(self): | ||
|  |         item_names = [item.name for item in self.multiworld.itempool] | ||
|  |         self.assertNotIn("Progressive Coop", item_names) | ||
|  |         self.assertNotIn("Progressive Pickaxe", item_names) | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestBitFlagsVanillaVeryCheap(SVTestBase): | ||
|  |     options = {ToolProgression.internal_name: ToolProgression.option_vanilla_very_cheap, | ||
|  |                BuildingProgression.internal_name: BuildingProgression.option_vanilla_very_cheap} | ||
|  | 
 | ||
|  |     def test_options_are_not_detected_as_progressive(self): | ||
|  |         world_options = self.world.options | ||
|  |         tool_progressive = world_options.tool_progression & ToolProgression.option_progressive | ||
|  |         building_progressive = world_options.building_progression & BuildingProgression.option_progressive | ||
|  |         self.assertFalse(tool_progressive) | ||
|  |         self.assertFalse(building_progressive) | ||
|  | 
 | ||
|  |     def test_tools_and_buildings_not_in_pool(self): | ||
|  |         item_names = [item.name for item in self.multiworld.itempool] | ||
|  |         self.assertNotIn("Progressive Coop", item_names) | ||
|  |         self.assertNotIn("Progressive Pickaxe", item_names) | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestBitFlagsProgressive(SVTestBase): | ||
|  |     options = {ToolProgression.internal_name: ToolProgression.option_progressive, | ||
|  |                BuildingProgression.internal_name: BuildingProgression.option_progressive} | ||
|  | 
 | ||
|  |     def test_options_are_detected_as_progressive(self): | ||
|  |         world_options = self.world.options | ||
|  |         tool_progressive = world_options.tool_progression & ToolProgression.option_progressive | ||
|  |         building_progressive = world_options.building_progression & BuildingProgression.option_progressive | ||
|  |         self.assertTrue(tool_progressive) | ||
|  |         self.assertTrue(building_progressive) | ||
|  | 
 | ||
|  |     def test_tools_and_buildings_in_pool(self): | ||
|  |         item_names = [item.name for item in self.multiworld.itempool] | ||
|  |         self.assertIn("Progressive Coop", item_names) | ||
|  |         self.assertIn("Progressive Pickaxe", item_names) | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestBitFlagsProgressiveCheap(SVTestBase): | ||
|  |     options = {ToolProgression.internal_name: ToolProgression.option_progressive_cheap, | ||
|  |                BuildingProgression.internal_name: BuildingProgression.option_progressive_cheap} | ||
|  | 
 | ||
|  |     def test_options_are_detected_as_progressive(self): | ||
|  |         world_options = self.world.options | ||
|  |         tool_progressive = world_options.tool_progression & ToolProgression.option_progressive | ||
|  |         building_progressive = world_options.building_progression & BuildingProgression.option_progressive | ||
|  |         self.assertTrue(tool_progressive) | ||
|  |         self.assertTrue(building_progressive) | ||
|  | 
 | ||
|  |     def test_tools_and_buildings_in_pool(self): | ||
|  |         item_names = [item.name for item in self.multiworld.itempool] | ||
|  |         self.assertIn("Progressive Coop", item_names) | ||
|  |         self.assertIn("Progressive Pickaxe", item_names) | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestBitFlagsProgressiveVeryCheap(SVTestBase): | ||
|  |     options = {ToolProgression.internal_name: ToolProgression.option_progressive_very_cheap, | ||
|  |                BuildingProgression.internal_name: BuildingProgression.option_progressive_very_cheap} | ||
|  | 
 | ||
|  |     def test_options_are_detected_as_progressive(self): | ||
|  |         world_options = self.world.options | ||
|  |         tool_progressive = world_options.tool_progression & ToolProgression.option_progressive | ||
|  |         building_progressive = world_options.building_progression & BuildingProgression.option_progressive | ||
|  |         self.assertTrue(tool_progressive) | ||
|  |         self.assertTrue(building_progressive) | ||
|  | 
 | ||
|  |     def test_tools_and_buildings_in_pool(self): | ||
|  |         item_names = [item.name for item in self.multiworld.itempool] | ||
|  |         self.assertIn("Progressive Coop", item_names) | ||
|  |         self.assertIn("Progressive Pickaxe", item_names) |