def test_GetLatestPlacedStoneColorCode_GetColorForEmptyBoard_ReturnsColorCode( self): "Get color code of latest placed stone for empty board." board = Board() board.save() self.assertEqual(board.get_latest_placed_stone_color_code(), 1)
def test_CreateBoard_CreatesDefinedSizeInstance(self): "Creating Board instance of defined size" board = Board(size="9x9") board.save() self.assertEqual(board.size, "9x9") self.assertEqual(board.rows, 9) self.assertEqual(board.columns, 9)
def test_CreateBoard_CreatesInstance(self): "Creating empty Board instance" board = Board() board.save() self.assertIsInstance(board, Board) self.assertEqual(board.size, "13x13") self.assertEqual(board.rows, 13) self.assertEqual(board.columns, 13)
def test_AppendBlackStonesToBoard_DoesNotAppend(self): "Appending black stones twice to board." # Create black stones twice for borad board = Board(game_id=1, size="9x9") board.save() user = User.objects.get(id=1) board.add_stones(user, STONE_COLORS['black']) board.add_stones(user, STONE_COLORS['black']) # Check stones count self.assertEqual(board.stone_set.count(), 41)
def test_AppendWhiteStonesToBoard_DoesNotAppend(self): "Appending white stones twice to board." # Add black and white stones to board board = Board(game_id=1, size="9x9") board.save() user = User.objects.get(id=1) board.add_stones(user, STONE_COLORS['black']) user2 = User.objects.get(id=2) board.add_stones(user2, STONE_COLORS['white']) # Add white stones for second time board.add_stones(user2, STONE_COLORS['white']) # Check stones count self.assertEqual(board.stone_set.count(), 81)
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_AssingBoardToGame_Assigns(self): "Creating Board instance and assing to a Game" # Create and assing game = Game.objects.get(id=1) board = Board(game_id=game.id) board.save() # Check instance self.assertIsInstance(board, Board) # Get Game by Board id self.assertIsInstance(board.game, Game) self.assertTrue(board.game.id, game.id) # Get Board by Game id self.assertIsInstance(game.board, Board) self.assertTrue(game.board.pk, board.pk)
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_CreateBlackStonesForBoard_Creates(self): "Creating black stones for 9x9 borad." # Create black stones for borad board = Board(game_id=1, size="9x9") board.save() user = User.objects.get(id=1) board.add_stones(user, STONE_COLORS['black']) # Check stones count self.assertEqual(board.stone_set.count(), 41) # Check stone properties stone = board.stone_set.get(id=1) self.assertIsInstance(stone, Stone) self.assertEqual(stone.board, board) self.assertEqual(stone.user, user) self.assertEqual(stone.row, -1) self.assertEqual(stone.col, -1) self.assertEqual(stone.color, 0)
def test_AppendWhiteStonesToBoard_Appends(self): "Appending white stones to 9x9 board." # Add black and white stones to board board = Board(game_id=1, size="9x9") board.save() user = User.objects.get(id=1) board.add_stones(user, STONE_COLORS['black']) user2 = User.objects.get(id=2) board.add_stones(user2, STONE_COLORS['white']) # Check stones count self.assertEqual(board.stone_set.count(), 81) # Check stone properties stone = board.stone_set.get(id=42) self.assertIsInstance(stone, Stone) self.assertEqual(stone.board, board) self.assertEqual(stone.user, user2) self.assertEqual(stone.row, -1) self.assertEqual(stone.col, -1) self.assertEqual(stone.color, 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
def test_GetLatestPlacedStoneColorCode_GetColorForEmptyBoard_ReturnsColorCode(self): "Get color code of latest placed stone for empty board." board = Board() board.save() self.assertEqual(board.get_latest_placed_stone_color_code(), 1)