40 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from . import BumpStikTestBase | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestRuleLogic(BumpStikTestBase): | ||
|  |     def testLogic(self): | ||
|  |         for x in range(1, 33): | ||
|  |             if x == 32: | ||
|  |                 self.assertFalse(self.can_reach_location("Level 5 - Cleared all Hazards")) | ||
|  | 
 | ||
|  |             self.collect(self.get_item_by_name("Treasure Bumper")) | ||
|  |             if x % 8 == 0: | ||
|  |                 bb_count = round(x / 8) | ||
|  | 
 | ||
|  |                 if bb_count < 4: | ||
|  |                     self.assertFalse(self.can_reach_location(f"Treasure Bumper {x + 1}")) | ||
|  |                 elif bb_count == 4: | ||
|  |                     bb_count += 1 | ||
|  | 
 | ||
|  |                 for y in range(self.count("Booster Bumper"), bb_count): | ||
|  |                     self.assertTrue(self.can_reach_location(f"Bonus Booster {y + 1}"), | ||
|  |                                     f"BB {y + 1} check not reachable with {self.count('Booster Bumper')} BBs") | ||
|  |                     if y < 4: | ||
|  |                         self.assertFalse(self.can_reach_location(f"Bonus Booster {y + 2}"), | ||
|  |                                          f"BB {y + 2} check reachable with {self.count('Treasure Bumper')} TBs") | ||
|  |                     self.collect(self.get_item_by_name("Booster Bumper")) | ||
|  | 
 | ||
|  |             if x < 31: | ||
|  |                 self.assertFalse(self.can_reach_location(f"Treasure Bumper {x + 2}")) | ||
|  |             elif x == 31: | ||
|  |                 self.assertFalse(self.can_reach_location("Level 5 - 50,000+ Total Points")) | ||
|  | 
 | ||
|  |             if x < 32: | ||
|  |                 self.assertTrue(self.can_reach_location(f"Treasure Bumper {x + 1}"), | ||
|  |                                 f"TB {x + 1} check not reachable with {self.count('Treasure Bumper')} TBs") | ||
|  |             elif x == 32: | ||
|  |                 self.assertTrue(self.can_reach_location("Level 5 - 50,000+ Total Points")) | ||
|  |                 self.assertFalse(self.can_reach_location("Level 5 - Cleared all Hazards")) | ||
|  |                 self.collect(self.get_items_by_name("Hazard Bumper")) | ||
|  |                 self.assertTrue(self.can_reach_location("Level 5 - Cleared all Hazards")) |