Beispiel #1
0
 def test_experience_basic(self):
     # Yeah I guess not that much testing can be done here
     self.assertRaises(ValueError, Experience.exp_to_lvl, -1)
     self.assertRaises(ValueError, Experience.exp_to_lvl, 0)
     self.assertEquals(Experience.exp_to_lvl(1), ExpMultiplier)
     self.assertEquals(Experience.exp_to_lvl(2), ExpBase * ExpMultiplier)
     self.assertEquals(
         Experience.exp_to_lvl(SoftCapLevel + 1), Experience.exp_to_lvl(SoftCapLevel) + LinearMultiplier
     )
Beispiel #2
0
 def test_experience_basic(self):
     # Yeah I guess not that much testing can be done here
     self.assertRaises(ValueError, Experience.exp_to_lvl, -1)
     self.assertRaises(ValueError, Experience.exp_to_lvl, 0)
     self.assertEquals(Experience.exp_to_lvl(1), ExpMultiplier)
     self.assertEquals(Experience.exp_to_lvl(2), ExpBase * ExpMultiplier)
     self.assertEquals(
         Experience.exp_to_lvl(SoftCapLevel + 1),
         Experience.exp_to_lvl(SoftCapLevel) + LinearMultiplier)
Beispiel #3
0
    def test_softcap(self):
        class ConstSource(ExperienceSource):
            """
            This source always returns the same value
            """
            def __init__(self, value):
                self.value = value

            def get_experience(self, user):
                return self.value

            def force_recalculate(self, user):
                pass

        def total_exp_to_lvl(level):
            total = 0
            for i in xrange(1, level + 1):
                total += Experience.exp_to_lvl(i)
            return total

        try:
            Experience.add_experience_source(
                ConstSource(total_exp_to_lvl(SoftCapLevel))
            )

            test_user = User.objects.get(username='******')

            exp = Experience(test_user)

            self.assertEquals(exp.current_level, SoftCapLevel)
            self.assertEquals(
                exp.required_experience_to_lvlup,
                Experience.exp_to_lvl(SoftCapLevel) + LinearMultiplier
            )

            Experience.add_experience_source(
                ConstSource(Experience.exp_to_lvl((SoftCapLevel + 1)))
            )

            self.assertEquals(
                exp.required_experience_to_lvlup,
                Experience.exp_to_lvl(SoftCapLevel) + 2*LinearMultiplier
            )

        finally:
            Experience.clear_experience_sources()
Beispiel #4
0
    def test_softcap(self):
        class ConstSource(ExperienceSource):
            """
            This source always returns the same value
            """
            def __init__(self, value):
                self.value = value

            def get_experience(self, user):
                return self.value

            def force_recalculate(self, user):
                pass

        def total_exp_to_lvl(level):
            total = 0
            for i in xrange(1, level + 1):
                total += Experience.exp_to_lvl(i)
            return total

        try:
            Experience.add_experience_source(
                ConstSource(total_exp_to_lvl(SoftCapLevel)))

            test_user = User.objects.get(username='******')

            exp = Experience(test_user)

            self.assertEquals(exp.current_level, SoftCapLevel)
            self.assertEquals(
                exp.required_experience_to_lvlup,
                Experience.exp_to_lvl(SoftCapLevel) + LinearMultiplier)

            Experience.add_experience_source(
                ConstSource(Experience.exp_to_lvl((SoftCapLevel + 1))))

            self.assertEquals(
                exp.required_experience_to_lvlup,
                Experience.exp_to_lvl(SoftCapLevel) + 2 * LinearMultiplier)

        finally:
            Experience.clear_experience_sources()
Beispiel #5
0
 def total_exp_to_lvl(level):
     total = 0
     for i in xrange(1, level + 1):
         total += Experience.exp_to_lvl(i)
     return total
Beispiel #6
0
 def total_exp_to_lvl(level):
     total = 0
     for i in xrange(1, level + 1):
         total += Experience.exp_to_lvl(i)
     return total