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 )
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)
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()
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()
def total_exp_to_lvl(level): total = 0 for i in xrange(1, level + 1): total += Experience.exp_to_lvl(i) return total