166 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			166 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from . import linkedTestHK, WorldTestBase | ||
|  | from Options import ItemLinks | ||
|  | 
 | ||
|  | 
 | ||
|  | class test_grubcount_limited(linkedTestHK, WorldTestBase): | ||
|  |     options = { | ||
|  |         "RandomizeGrubs": True, | ||
|  |         "GrubHuntGoal": 20, | ||
|  |         "Goal": "any", | ||
|  |     } | ||
|  |     item_link_group = [{ | ||
|  |         "name": "ItemLinkTest", | ||
|  |         "item_pool": ["Grub"], | ||
|  |         "link_replacement": True, | ||
|  |         "replacement_item": "Grub", | ||
|  |     }] | ||
|  |     expected_grubs = 20 | ||
|  | 
 | ||
|  | 
 | ||
|  | class test_grubcount_default(linkedTestHK, WorldTestBase): | ||
|  |     options = { | ||
|  |         "RandomizeGrubs": True, | ||
|  |         "Goal": "any", | ||
|  |     } | ||
|  |     item_link_group = [{ | ||
|  |         "name": "ItemLinkTest", | ||
|  |         "item_pool": ["Grub"], | ||
|  |         "link_replacement": True, | ||
|  |         "replacement_item": "Grub", | ||
|  |     }] | ||
|  |     expected_grubs = 46 | ||
|  | 
 | ||
|  | 
 | ||
|  | class test_grubcount_all_unlinked(linkedTestHK, WorldTestBase): | ||
|  |     options = { | ||
|  |         "RandomizeGrubs": True, | ||
|  |         "GrubHuntGoal": "all", | ||
|  |         "Goal": "any", | ||
|  |     } | ||
|  |     item_link_group = [] | ||
|  |     expected_grubs = 46 | ||
|  | 
 | ||
|  | 
 | ||
|  | class test_grubcount_all_linked(linkedTestHK, WorldTestBase): | ||
|  |     options = { | ||
|  |         "RandomizeGrubs": True, | ||
|  |         "GrubHuntGoal": "all", | ||
|  |         "Goal": "any", | ||
|  |     } | ||
|  |     item_link_group = [{ | ||
|  |         "name": "ItemLinkTest", | ||
|  |         "item_pool": ["Grub"], | ||
|  |         "link_replacement": True, | ||
|  |         "replacement_item": "Grub", | ||
|  |     }] | ||
|  |     expected_grubs = 46 + 23 | ||
|  | 
 | ||
|  | 
 | ||
|  | class test_replacement_only(linkedTestHK, WorldTestBase): | ||
|  |     options = { | ||
|  |         "RandomizeGrubs": True, | ||
|  |         "GrubHuntGoal": "all", | ||
|  |         "Goal": "any", | ||
|  |     } | ||
|  |     expected_grubs = 46 + 18  # the count of grubs + skills removed from item links | ||
|  | 
 | ||
|  |     def setup_item_links(self, args): | ||
|  |         setattr(args, "item_links", | ||
|  |                 { | ||
|  |                     1: ItemLinks.from_any([{ | ||
|  |                         "name": "ItemLinkTest", | ||
|  |                         "item_pool": ["Skills"], | ||
|  |                         "link_replacement": True, | ||
|  |                         "replacement_item": "Grub", | ||
|  |                     }]), | ||
|  |                     2: ItemLinks.from_any([{ | ||
|  |                         "name": "ItemLinkTest", | ||
|  |                         "item_pool": ["Skills"], | ||
|  |                         "link_replacement": True, | ||
|  |                         "replacement_item": "Grub", | ||
|  |                     }]) | ||
|  |                 }) | ||
|  |         return args | ||
|  | 
 | ||
|  | 
 | ||
|  | class test_replacement_only_unlinked(linkedTestHK, WorldTestBase): | ||
|  |     options = { | ||
|  |         "RandomizeGrubs": True, | ||
|  |         "GrubHuntGoal": "all", | ||
|  |         "Goal": "any", | ||
|  |     } | ||
|  |     expected_grubs = 46 + 9  # Player1s replacement Grubs | ||
|  | 
 | ||
|  |     def setup_item_links(self, args): | ||
|  |         setattr(args, "item_links", | ||
|  |                 { | ||
|  |                     1: ItemLinks.from_any([{ | ||
|  |                         "name": "ItemLinkTest", | ||
|  |                         "item_pool": ["Skills"], | ||
|  |                         "link_replacement": False, | ||
|  |                         "replacement_item": "Grub", | ||
|  |                     }]), | ||
|  |                     2: ItemLinks.from_any([{ | ||
|  |                         "name": "ItemLinkTest", | ||
|  |                         "item_pool": ["Skills"], | ||
|  |                         "link_replacement": False, | ||
|  |                         "replacement_item": "Grub", | ||
|  |                     }]) | ||
|  |                 }) | ||
|  |         return args | ||
|  | 
 | ||
|  | 
 | ||
|  | class test_ignore_others(linkedTestHK, WorldTestBase): | ||
|  |     options = { | ||
|  |         "RandomizeGrubs": True, | ||
|  |         "GrubHuntGoal": "all", | ||
|  |         "Goal": "any", | ||
|  |     } | ||
|  |     # player2 has more than 46 grubs but they are unlinked so player1s grubs are vanilla | ||
|  |     expected_grubs = 46 | ||
|  | 
 | ||
|  |     def setup_item_links(self, args): | ||
|  |         setattr(args, "item_links", | ||
|  |                 { | ||
|  |                     1: ItemLinks.from_any([{ | ||
|  |                         "name": "ItemLinkTest", | ||
|  |                         "item_pool": ["Skills"], | ||
|  |                         "link_replacement": False, | ||
|  |                         "replacement_item": "One_Geo", | ||
|  |                     }]), | ||
|  |                     2: ItemLinks.from_any([{ | ||
|  |                         "name": "ItemLinkTest", | ||
|  |                         "item_pool": ["Skills"], | ||
|  |                         "link_replacement": False, | ||
|  |                         "replacement_item": "Grub", | ||
|  |                     }]) | ||
|  |                 }) | ||
|  |         return args | ||
|  | 
 | ||
|  | 
 | ||
|  | class test_replacement_only_linked(linkedTestHK, WorldTestBase): | ||
|  |     options = { | ||
|  |         "RandomizeGrubs": True, | ||
|  |         "GrubHuntGoal": "all", | ||
|  |         "Goal": "any", | ||
|  |     } | ||
|  |     expected_grubs = 46 + 9  # Player2s linkreplacement grubs | ||
|  | 
 | ||
|  |     def setup_item_links(self, args): | ||
|  |         setattr(args, "item_links", | ||
|  |                 { | ||
|  |                     1: ItemLinks.from_any([{ | ||
|  |                         "name": "ItemLinkTest", | ||
|  |                         "item_pool": ["Skills"], | ||
|  |                         "link_replacement": True, | ||
|  |                         "replacement_item": "One_Geo", | ||
|  |                     }]), | ||
|  |                     2: ItemLinks.from_any([{ | ||
|  |                         "name": "ItemLinkTest", | ||
|  |                         "item_pool": ["Skills"], | ||
|  |                         "link_replacement": True, | ||
|  |                         "replacement_item": "Grub", | ||
|  |                     }]) | ||
|  |                 }) | ||
|  |         return args |