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
							 |