Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com> Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com> Co-authored-by: Doug Hoskisson <beauxq@yahoo.com> Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from . import KDL3TestBase
 | 
						|
 | 
						|
 | 
						|
class TestFastGoal(KDL3TestBase):
 | 
						|
    options = {
 | 
						|
        "open_world": False,
 | 
						|
        "goal_speed": "fast",
 | 
						|
        "total_heart_stars": 30,
 | 
						|
        "heart_stars_required": 50,
 | 
						|
        "filler_percentage": 0,
 | 
						|
    }
 | 
						|
 | 
						|
    def test_goal(self):
 | 
						|
        self.assertBeatable(False)
 | 
						|
        heart_stars = self.get_items_by_name("Heart Star")
 | 
						|
        self.collect(heart_stars[0:14])
 | 
						|
        self.assertEqual(self.count("Heart Star"), 14, str(self.multiworld.seed))
 | 
						|
        self.assertBeatable(False)
 | 
						|
        self.collect(heart_stars[14:15])
 | 
						|
        self.assertEqual(self.count("Heart Star"), 15, str(self.multiworld.seed))
 | 
						|
        self.assertBeatable(True)
 | 
						|
        self.remove([self.get_item_by_name("Love-Love Rod")])
 | 
						|
        self.collect_by_name("Kine")  # Ensure a little more progress, but leave out cutter and burning
 | 
						|
        self.collect(heart_stars[15:])
 | 
						|
        self.assertBeatable(True)
 | 
						|
 | 
						|
 | 
						|
class TestNormalGoal(KDL3TestBase):
 | 
						|
    # TODO: open world tests
 | 
						|
    options = {
 | 
						|
        "open_world": False,
 | 
						|
        "goal_speed": "normal",
 | 
						|
        "total_heart_stars": 30,
 | 
						|
        "heart_stars_required": 50,
 | 
						|
        "filler_percentage": 0,
 | 
						|
    }
 | 
						|
 | 
						|
    def test_goal(self):
 | 
						|
        self.assertBeatable(False)
 | 
						|
        heart_stars = self.get_items_by_name("Heart Star")
 | 
						|
        self.collect(heart_stars[0:14])
 | 
						|
        self.assertEqual(self.count("Heart Star"), 14, str(self.multiworld.seed))
 | 
						|
        self.assertBeatable(False)
 | 
						|
        self.collect(heart_stars[14:15])
 | 
						|
        self.assertEqual(self.count("Heart Star"), 15, str(self.multiworld.seed))
 | 
						|
        self.assertBeatable(False)
 | 
						|
        self.collect_by_name(["Burning", "Cutter", "Kine"])
 | 
						|
        self.assertBeatable(True)
 | 
						|
        self.remove([self.get_item_by_name("Love-Love Rod")])
 | 
						|
        self.collect(heart_stars)
 | 
						|
        self.assertEqual(self.count("Heart Star"), 30, str(self.multiworld.seed))
 | 
						|
        self.assertBeatable(True)
 | 
						|
 | 
						|
    def test_kine(self):
 | 
						|
        self.collect_by_name(["Cutter", "Burning", "Heart Star"])
 | 
						|
        self.assertBeatable(False)
 | 
						|
 | 
						|
    def test_cutter(self):
 | 
						|
        self.collect_by_name(["Kine", "Burning", "Heart Star"])
 | 
						|
        self.assertBeatable(False)
 | 
						|
 | 
						|
    def test_burning(self):
 | 
						|
        self.collect_by_name(["Cutter", "Kine", "Heart Star"])
 | 
						|
        self.assertBeatable(False)
 |