def setUp(self): HuntUser.objects.all().delete() Landmark.objects.all().delete() Game.objects.all().delete() game = Game(name="game", running=False) game.save() lm = Landmark(name="dummy", clue="dummy", question="dummy", answer="dummy", order_num=-1) lm.save() self.maker = gamemaker.GameMaker() self.maker.make_team(["team1", "password1"]) self.t = team.Team() lm1 = Landmark(name="landmark1", clue="clue1", question="question1", answer="answer1", order_num=-1) lm2 = Landmark(name="landmark2", clue="clue2", question="question2", answer="answer2", order_num=-1) lm1.save() lm2.save()
class TestMakerCheckStatus(TestCase): def setUp(self): HuntUser.objects.all().delete() Landmark.objects.all().delete() lm = Landmark(name="dummy", clue="dummy", question="dummy", answer="dummy", order_num=-1) lm.save() Game.objects.all().delete() self.game = Game(name="game", running=False, time_start=timezone.now()) self.game.save() self.game_maker = gamemaker.GameMaker() def test_status_single_team(self): self.game_maker.make_team(["team1", "password1"]) self.assertEquals( self.game_maker.display_status(), "Team: team1\nScore: 0\nPenalties: 0\n\nThere is currently no game running", "Bad single team return") def test_status_multiple_teams(self): self.game_maker.make_team(["team1", "password1"]) self.game_maker.make_team(["team2", "password2"]) self.assertEqual( self.game_maker.display_status(), "Team: team1\nScore: 0\nPenalties: 0\n\nTeam: team2\nScore: 0\nPenalties: 0\n\n" "There is currently no game running", "Cannot find entries in two team list")
def setUp(self): HuntUser.objects.all().delete() Landmark.objects.all().delete() Game.objects.all().delete() game = Game(name="game", running=False) game.save() lm = Landmark(name="dummy", clue="dummy", question="dummy", answer="dummy", order_num=-1) lm.save() self.maker = gamemaker.GameMaker()
def setUp(self): dummy_landmark = Landmark(name="dummy", clue="dummy", question="dummy", answer="dummy", order_num=-1) dummy_landmark.save() Game.objects.all().delete() game = Game(name="game", running=False) game.save() self.maker = gamemaker.GameMaker() self.maker.make_team(["team1", "password1"]) self.maker.make_team(["team2", "password1"]) self.maker.add_landmark(["landmark1", "clue1", "q1", "a1"]) self.maker.add_landmark(["landmark2", "clue2", "q2", "a2"]) self.maker.create_game(["landmark1", "landmark2"]) self.t = team.Team()
def setUp(self): Landmark.objects.all().delete() dummy_landmark = Landmark(name="dummy", clue="dummy", question="dummy", answer="dummy", order_num=-1) dummy_landmark.save() team1 = HuntUser(name="team1", password="******", current_landmark=dummy_landmark) team1.save() Game.objects.all().delete() self.game = Game(name="game", running=False) self.game.save() self.t = team.Team() self.maker = gamemaker.GameMaker()
class TestMakerCreateGame(TestCase): def setUp(self): HuntUser.objects.all().delete() Landmark.objects.all().delete() Game.objects.all().delete() self.game = Game(name="game", running=False, time_start=timezone.now()) self.game.save() lm = Landmark(name="dummy", clue="dummy", question="dummy", answer="dummy", order_num=-1) lm.save() self.maker = gamemaker.GameMaker() self.maker.make_team(["team1", "password1"]) self.t = team.Team() lm1 = Landmark(name="landmark1", clue="clue1", question="question1", answer="answer1", order_num=-1) lm2 = Landmark(name="landmark2", clue="clue2", question="question2", answer="answer2", order_num=-1) lm1.save() lm2.save() def test_create_game_no_landmarks(self): self.assertEqual("Need at least one landmark to create a game", self.maker.create_game([]), "Error: can't create a game without any landmarks") def test_create_game_one_landmark(self): self.assertEqual( "Game has been created!", self.maker.create_game(["landmark1"]), "Error: game with one landmark should have been created") cur = HuntUser.objects.get(name="team1").current_landmark lm1 = Landmark.objects.get(name="landmark1") self.assertEqual( 0, lm1.order_num, "Error: landmark1 order_num should be 0, instead is " + str(lm1.order_num)) def test_create_game_invalid_landmark(self): self.assertEqual( "Landmark inv is not a valid landmark!", self.maker.create_game(["inv"]), "Error: adding a landmark that doesn't exist shouldn't be valid") def test_create_game_started(self): self.maker.create_game(["landmark1"]) self.game.running = True self.game.save() self.assertEqual( "Game is already in progress!", self.maker.create_game(["landmark1"]), "Error: game shouldn't have been created while a game is currently running" ) def test_create_game_multiple_landmarks(self): self.assertEqual( "Game has been created!", self.maker.create_game(["landmark1", "landmark2"]), "Error: game with two landmarks should have been created") cur = HuntUser.objects.get(name="team1").current_landmark lm1 = Landmark.objects.get(name="landmark1") lm2 = Landmark.objects.get(name="landmark2") self.assertEqual( 0, lm1.order_num, "Error: landmark1 order_num should be 0, instead is " + str(lm1.order_num)) self.assertEqual( 1, lm2.order_num, "Error: landmark2 order_num should be 1, instead is " + str(lm2.order_num))
class TestTeamRequestClue(TestCase): def setUp(self): Landmark.objects.all().delete() dummy_landmark = Landmark(name="dummy", clue="dummy", question="dummy", answer="dummy", order_num=-1) dummy_landmark.save() team1 = HuntUser(name="team1", password="******", current_landmark=dummy_landmark) team1.save() Game.objects.all().delete() self.game = Game(name="game", running=False) self.game.save() self.t = team.Team() self.maker = gamemaker.GameMaker() def test_request_no_game_running(self): self.assertEqual( "There is no game running!", self.t.request_clue("team1"), "Error: can't get a clue when there is no game running") def test_request_no_landmarks_added(self): self.game.running = True self.game.save() self.assertEqual( "Not at a valid landmark", self.t.request_clue("team1"), "Error: cannot get a clue when there are no landmarks") def test_request_good(self): self.maker.add_landmark(["landmark1", "clue1", "q1", "a1"]) self.maker.create_game(["landmark1"]) self.maker.start_game() self.assertEqual("clue1", self.t.request_clue("team1"), "Error: should have returned clue1") def test_clue_time_up(self): self.maker.add_landmark(["landmark1", "clue1", "q1", "a1"]) self.maker.create_game(["landmark1"]) self.maker.start_game() team1 = HuntUser.objects.get(name="team1") game = Game.objects.get(name="game") period = timedelta(minutes=game.game_period) game.time_start -= period game.save() self.assertEqual("Time is up!", self.t.request_clue("team1"), "Error: game should have ended when 1 hour passed") game = Game.objects.get(name="game") self.assertFalse( game.running, "Error: game_running should be false when 1 hour passed") def test_request_at_end(self): self.maker.add_landmark(["landmark1", "clue1", "q1", "a1"]) self.maker.create_game(["landmark1"]) self.maker.start_game() team1 = HuntUser.objects.get(name="team1") team1.game_ended = True team1.save() self.assertEqual( "You've already finished the game!", self.t.request_clue("team1"), "Error: shouldn't be able to receive clue when at the end of the game" )