def test_CreateGame_CreatesInstance(self): "Creating Game instance" # Create Game instance game = Game() game.save() self.assertIsInstance(game, Game)
def test_EditGame_AddsTwoUsers(self): "Adding two Users to existing Game instance" # Create Game instance game = Game() game.save() self.assertEqual(game.users.count(), 0) # Assing Users user1 = User.objects.get(id=1) user2 = User.objects.get(id=2) game.users.add(user1, user2) game.save() self.assertEqual(game.users.count(), 2) # Check User class for i in (1,2): # Get Game User by id self.assertEqual(game.users.filter(id=i).count(), 1) # Check User class self.assertIsInstance(game.users.get(id=i), User) for user in game.users.all(): # Check Game instance by User game = user.game_set.get(id=1) self.assertIsInstance(game, Game) self.assertEqual(game.id, 1) # Get all Game instances for User self.assertEqual(user.game_set.count(), 1)
def test_GetBoardUpdateJson_EmptyBoard_ReturnsJson(self): "Serializing update data for empty board." # Create new board game = Game() game.save() board = Board(game_id=game.id) board.save() expect = simplejson.dumps({ 'placed_stones': [], 'next_move_color': 'black', 'latest_placed_stone': None, }) result = go.utils.get_board_update_json(game.id) self.assertEqual(result, expect)
def test_GetBoardUpdateJson_EmptyBoard_ReturnsJson(self): "Serializing update data for empty board." # Create new board game = Game() game.save() board = Board(game_id=game.id) board.save() expect = simplejson.dumps({ 'placed_stones' : [], 'next_move_color' : 'black', 'latest_placed_stone' : None, }) result = go.utils.get_board_update_json(game.id) self.assertEqual(result, expect)
def test_EditGame_RemovesTwoUsers(self): "Removing Users from Game" # Create Game instance game = Game() game.save() # Assing Users user1 = User.objects.get(id=1) user2 = User.objects.get(id=2) game.users.add(user1, user2) game.save() self.assertEqual(game.users.count(), 2) # Remove users game.users.remove(user1, user2) self.assertEqual(game.users.count(), 0) for user in (user1, user2): self.assertEqual(user.game_set.count(), 0)
def test_EditGame_AddsTwoUsers(self): "Adding two Users to existing Game instance" # Create Game instance game = Game() game.save() self.assertEqual(game.users.count(), 0) # Assing Users user1 = User.objects.get(id=1) user2 = User.objects.get(id=2) game.users.add(user1, user2) game.save() self.assertEqual(game.users.count(), 2) # Check User class for i in (1, 2): # Get Game User by id self.assertEqual(game.users.filter(id=i).count(), 1) # Check User class self.assertIsInstance(game.users.get(id=i), User) for user in game.users.all(): # Check Game instance by User game = user.game_set.get(id=1) self.assertIsInstance(game, Game) self.assertEqual(game.id, 1) # Get all Game instances for User self.assertEqual(user.game_set.count(), 1)
def save(self): # Create a new Game instance for current user game = Game(name=self.cleaned_data['name']) game.save() # Add user to game game.users.add(self.user.id) game.save() # Create a new Board instance and assign it to created game board = Board(game_id=game.id, size=self.cleaned_data['size']) board.save() # Create black Stone instances for first player. # Second player will have white stones. board.add_stones(self.user, STONE_COLORS['black']) # Add chat to game chat = Chat(game_id=game.id) chat.save() # Add player join message chat.join(self.user) return game