def test_get_xp_remaining_until_next_level_percentage(self):
        unit_generator = UnitGenerator()
        unit = unit_generator.generate()

        unit_level = UnitLevel()

        level_42_xp = unit_level.get_xp_for_level(42)
        ten_percent_of_total_xp = level_42_xp * .10
        unit.experience = level_42_xp - ten_percent_of_total_xp
        total_xp = level_42_xp

        # Test 90%
        expected_percentage = 90
        actual_percentage = unit.get_xp_remaining_until_next_level_percentage(
            total_xp)

        self.assertEqual(expected_percentage, actual_percentage)

        # Test 50%
        expected_fifty_percentage = 50
        fifty_percent_of_total_xp = level_42_xp * .50
        unit.experience = level_42_xp - fifty_percent_of_total_xp
        a_fifty = unit.get_xp_remaining_until_next_level_percentage(total_xp)

        self.assertEqual(expected_fifty_percentage, a_fifty)

        # Test xp over max level
        expected_one_twenty_percent = 120
        max_level_xp = unit_level.get_xp_for_max_level()
        twenty_percent_of_max = max_level_xp * .20
        unit.experience = max_level_xp + twenty_percent_of_max
        a_120 = unit.get_xp_remaining_until_next_level_percentage(max_level_xp)

        self.assertEqual(expected_one_twenty_percent, a_120)