def setUp(self): self.logger = create_ifind_logger('test_game_achievements.log') #print "Setting up Game Achievements for Player Test" self.logger.info("Setting up Game Achievemtns for Player Test.") User.objects.get_or_create(username='******', password='******') self.u = User.objects.get(username='******') UserProfile.objects.get_or_create(user=self.u) Category.objects.get_or_create( name='Numbers', desc='Looking for sites that about numbers') self.c = Category.objects.get(name='Numbers') for pn in ['one', 'two', 'three', 'four']: Page.objects.get_or_create(category=self.c, title=pn, url='www.' + pn + '.com', snippet=pn, desc=('desc: ' + pn)) Category.objects.get_or_create( name='Letters', desc='Looking for sites that about letters') self.c1 = Category.objects.get(name='Letters') self.assertEquals(len(Category.objects.all()), 2) #------------ for name in ['1', '2', '3', '4', '5', '6']: Category.objects.get_or_create( name=name, desc='Looking for sites that about {0}'.format(name)) Achievement.objects.get_or_create(name="HighScorer", desc='', xp_earned=10000, achievement_class='HighScorer') self.allcat = Achievement.objects.get_or_create( name="AllCat", desc='', xp_earned=500, achievement_class='AllCat') Achievement.objects.get_or_create(name="FivePagesInAGame", desc='', xp_earned=7, achievement_class='FivePagesInAGame') Achievement.objects.get_or_create(name="TenGamesPlayed", desc='', xp_earned=7, achievement_class='TenGamesPlayed') Achievement.objects.get_or_create(name="UberSearcher", desc='', xp_earned=7, achievement_class='UberSearcher') self.p = Page.objects.all()[0] self.cg = CurrentGame(category=self.c, current_page=self.p, user=self.u) self.up = UserProfile.objects.get(user=self.u) self.gac = GameAchievementChecker(self.u)
def setUp(self): self.logger = create_ifind_logger('test_game_achievements.log') #print "Setting up Game Achievements for Player Test" self.logger.info("Setting up Game Achievemtns for Player Test.") User.objects.get_or_create(username='******', password='******') self.u = User.objects.get(username='******') UserProfile.objects.get_or_create(user=self.u) Category.objects.get_or_create(name='Numbers', desc='Looking for sites that about numbers') self.c = Category.objects.get(name='Numbers') for pn in ['one','two','three','four']: Page.objects.get_or_create(category=self.c, title=pn, url='www.'+pn+'.com', snippet=pn, desc=('desc: ' +pn)) Category.objects.get_or_create(name='Letters', desc='Looking for sites that about letters') self.c1 = Category.objects.get(name='Letters') self.assertEquals(len(Category.objects.all()), 2) #------------ for name in ['1', '2', '3', '4', '5', '6']: Category.objects.get_or_create(name=name, desc='Looking for sites that about {0}'.format(name)) Achievement.objects.get_or_create(name="HighScorer", desc='',xp_earned=10000, achievement_class='HighScorer') self.allcat = Achievement.objects.get_or_create(name="AllCat", desc='', xp_earned=500, achievement_class='AllCat') Achievement.objects.get_or_create(name="FivePagesInAGame", desc='', xp_earned=7, achievement_class='FivePagesInAGame') Achievement.objects.get_or_create(name="TenGamesPlayed", desc='', xp_earned=7, achievement_class='TenGamesPlayed') Achievement.objects.get_or_create(name="UberSearcher", desc='', xp_earned=7, achievement_class='UberSearcher') self.p = Page.objects.all()[0] self.cg = CurrentGame(category=self.c, current_page=self.p, user=self.u) self.up = UserProfile.objects.get(user=self.u) self.gac = GameAchievementChecker(self.u)
class GameAchievementTest(TestCase): def setUp(self): self.logger = create_ifind_logger('test_game_achievements.log') #print "Setting up Game Achievements for Player Test" self.logger.info("Setting up Game Achievemtns for Player Test.") User.objects.get_or_create(username='******', password='******') self.u = User.objects.get(username='******') UserProfile.objects.get_or_create(user=self.u) Category.objects.get_or_create(name='Numbers', desc='Looking for sites that about numbers') self.c = Category.objects.get(name='Numbers') for pn in ['one','two','three','four']: Page.objects.get_or_create(category=self.c, title=pn, url='www.'+pn+'.com', snippet=pn, desc=('desc: ' +pn)) Category.objects.get_or_create(name='Letters', desc='Looking for sites that about letters') self.c1 = Category.objects.get(name='Letters') self.assertEquals(len(Category.objects.all()), 2) #------------ for name in ['1', '2', '3', '4', '5', '6']: Category.objects.get_or_create(name=name, desc='Looking for sites that about {0}'.format(name)) Achievement.objects.get_or_create(name="HighScorer", desc='',xp_earned=10000, achievement_class='HighScorer') self.allcat = Achievement.objects.get_or_create(name="AllCat", desc='', xp_earned=500, achievement_class='AllCat') Achievement.objects.get_or_create(name="FivePagesInAGame", desc='', xp_earned=7, achievement_class='FivePagesInAGame') Achievement.objects.get_or_create(name="TenGamesPlayed", desc='', xp_earned=7, achievement_class='TenGamesPlayed') Achievement.objects.get_or_create(name="UberSearcher", desc='', xp_earned=7, achievement_class='UberSearcher') self.p = Page.objects.all()[0] self.cg = CurrentGame(category=self.c, current_page=self.p, user=self.u) self.up = UserProfile.objects.get(user=self.u) self.gac = GameAchievementChecker(self.u) def test_achievements(self): print "testing achievements" # make sure there are no highscores so far hs = HighScore.objects.filter(user=self.u) self.assertEquals(len(hs),0) # get the latest highscores new_achievements_list = self.gac.check_and_set_new_achievements(self.up,hs,self.cg) # check that no achievements are awarded self.assertEquals(len(new_achievements_list),0) HighScore(user=self.u,category=self.c,highest_score=2900).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements(self.up,hs,self.cg) # still no achievements should be awarded yet self.assertEquals(len(new_achievements_list),0) def test_all_cats(self): # add a score in for the other category for cat in Category.objects.all(): HighScore(user=self.u,category=cat ,highest_score=1000).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements(self.up, hs,self.cg) # the All Cats achievement is triggered self.assertEquals(new_achievements_list[0].achievement, self.allcat[0]) def test_highscorer(self): HighScore(user=self.u,category=self.c,highest_score=9000).save() hs = HighScore.objects.filter(user=self.u) total =0 for h in hs: total += hs[0].highest_score print("testing highscorer\nTotal score:{0}".format(total)) new_achievements_list = self.gac.check_and_set_new_achievements(self.up, hs,self.cg) # The Ubersearcher achievement is triggered self.assertEquals(len(new_achievements_list), 1) # the high scores were increased hs = HighScore.objects.filter(user=self.u) for s in hs: s.highest_score += 3000 s.save() new_achievements_list = self.gac.check_and_set_new_achievements(self.up, hs,self.cg) # The high scorer achievement is triggered self.assertEquals(len(new_achievements_list),1) def test_fives_pages_in_game(self): #testing FivePagesInAGame achievemnt class # add a score in for the other category HighScore(user=self.u,category=self.c,most_no_pages_found=2).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements(self.up,hs,self.cg) #should not trigger achievement self.assertEquals(len(new_achievements_list),0) HighScore(user=self.u,category=self.c,most_no_pages_found=5).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements(self.up,hs,self.cg) #should trigger FivePagesInAGame achievement self.assertEquals(len(new_achievements_list),1) def test_ten_games_played(self): #Test TenGamesPlayed # add a score in for the other category self.up.no_games_played = 9 self.up.save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements(self.up,hs,self.cg) #should not trigger achievement self.assertEquals(len(new_achievements_list),0) # add a score in for the other category self.up.no_games_played = 10 self.up.save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements(self.up,hs,self.cg) #should trigger achievement self.assertEquals(len(new_achievements_list),1) def test_uber_searcher(self): #Test UberSearcher # add a score in for the other category HighScore(user=self.u,category=self.c, highest_score=2000).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements(self.up,hs,self.cg) #should not trigger achievement self.assertEquals(len(new_achievements_list),0) # add a score in for the other category HighScore(user=self.u,category=self.c, highest_score=3000).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements(self.up,hs,self.cg) self.assertEquals(len(new_achievements_list),1)
class GameAchievementTest(TestCase): def setUp(self): self.logger = create_ifind_logger('test_game_achievements.log') #print "Setting up Game Achievements for Player Test" self.logger.info("Setting up Game Achievemtns for Player Test.") User.objects.get_or_create(username='******', password='******') self.u = User.objects.get(username='******') UserProfile.objects.get_or_create(user=self.u) Category.objects.get_or_create( name='Numbers', desc='Looking for sites that about numbers') self.c = Category.objects.get(name='Numbers') for pn in ['one', 'two', 'three', 'four']: Page.objects.get_or_create(category=self.c, title=pn, url='www.' + pn + '.com', snippet=pn, desc=('desc: ' + pn)) Category.objects.get_or_create( name='Letters', desc='Looking for sites that about letters') self.c1 = Category.objects.get(name='Letters') self.assertEquals(len(Category.objects.all()), 2) #------------ for name in ['1', '2', '3', '4', '5', '6']: Category.objects.get_or_create( name=name, desc='Looking for sites that about {0}'.format(name)) Achievement.objects.get_or_create(name="HighScorer", desc='', xp_earned=10000, achievement_class='HighScorer') self.allcat = Achievement.objects.get_or_create( name="AllCat", desc='', xp_earned=500, achievement_class='AllCat') Achievement.objects.get_or_create(name="FivePagesInAGame", desc='', xp_earned=7, achievement_class='FivePagesInAGame') Achievement.objects.get_or_create(name="TenGamesPlayed", desc='', xp_earned=7, achievement_class='TenGamesPlayed') Achievement.objects.get_or_create(name="UberSearcher", desc='', xp_earned=7, achievement_class='UberSearcher') self.p = Page.objects.all()[0] self.cg = CurrentGame(category=self.c, current_page=self.p, user=self.u) self.up = UserProfile.objects.get(user=self.u) self.gac = GameAchievementChecker(self.u) def test_achievements(self): print "testing achievements" # make sure there are no highscores so far hs = HighScore.objects.filter(user=self.u) self.assertEquals(len(hs), 0) # get the latest highscores new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) # check that no achievements are awarded self.assertEquals(len(new_achievements_list), 0) HighScore(user=self.u, category=self.c, highest_score=2900).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) # still no achievements should be awarded yet self.assertEquals(len(new_achievements_list), 0) def test_all_cats(self): # add a score in for the other category for cat in Category.objects.all(): HighScore(user=self.u, category=cat, highest_score=1000).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) # the All Cats achievement is triggered self.assertEquals(new_achievements_list[0].achievement, self.allcat[0]) def test_highscorer(self): HighScore(user=self.u, category=self.c, highest_score=9000).save() hs = HighScore.objects.filter(user=self.u) total = 0 for h in hs: total += hs[0].highest_score print("testing highscorer\nTotal score:{0}".format(total)) new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) # The Ubersearcher achievement is triggered self.assertEquals(len(new_achievements_list), 1) # the high scores were increased hs = HighScore.objects.filter(user=self.u) for s in hs: s.highest_score += 3000 s.save() new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) # The high scorer achievement is triggered self.assertEquals(len(new_achievements_list), 1) def test_fives_pages_in_game(self): #testing FivePagesInAGame achievemnt class # add a score in for the other category HighScore(user=self.u, category=self.c, most_no_pages_found=2).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) #should not trigger achievement self.assertEquals(len(new_achievements_list), 0) HighScore(user=self.u, category=self.c, most_no_pages_found=5).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) #should trigger FivePagesInAGame achievement self.assertEquals(len(new_achievements_list), 1) def test_ten_games_played(self): #Test TenGamesPlayed # add a score in for the other category self.up.no_games_played = 9 self.up.save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) #should not trigger achievement self.assertEquals(len(new_achievements_list), 0) # add a score in for the other category self.up.no_games_played = 10 self.up.save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) #should trigger achievement self.assertEquals(len(new_achievements_list), 1) def test_uber_searcher(self): #Test UberSearcher # add a score in for the other category HighScore(user=self.u, category=self.c, highest_score=2000).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) #should not trigger achievement self.assertEquals(len(new_achievements_list), 0) # add a score in for the other category HighScore(user=self.u, category=self.c, highest_score=3000).save() hs = HighScore.objects.filter(user=self.u) new_achievements_list = self.gac.check_and_set_new_achievements( self.up, hs, self.cg) self.assertEquals(len(new_achievements_list), 1)