예제 #1
0
 def test_getBoard_should_give_array_representation_of_game(self):
     game = Game('X')
     self.assertListEqual(game.getBoard(), ['...'] * 10)
     game.makeMove(1, 'X')
     self.assertListEqual(game.getBoard(), ['...', 'X', '...', '...', '...', '...', '...', '...', '...', '...'])
     game.makeMove(game.getBotMove(), game.getBotSymbol())
     self.assertListEqual(game.getBoard(), ['...', 'X', '...', '...', '...', 'O', '...', '...', '...', '...'])
예제 #2
0
    def test_isWinner_should_tell_if_given_symbol_has_won_the_game(self):
        game = Game('X')
        game.makeMove(1, 'X')
        game.makeMove(2, 'X')
        game.makeMove(3, 'X')

        self.assertTrue(game.isWinner('X'))
예제 #3
0
    def test_isWinner_should_tell_if_given_symbol_has_won_the_game(self):
        game = Game('X')
        game.makeMove(1, 'X')
        game.makeMove(2, 'X')
        game.makeMove(3, 'X')

        self.assertTrue(game.isWinner('X'))
예제 #4
0
 def test_isSpaceFree_should_tell_if_given_position_is_free(self):
     game = Game('X')
     self.assertTrue(game.isSpaceFree(1))
     self.assertTrue(game.isSpaceFree(2))
     self.assertTrue(game.isSpaceFree(3))
     self.assertTrue(game.isSpaceFree(4))
     self.assertTrue(game.isSpaceFree(5))
     self.assertTrue(game.isSpaceFree(6))
     self.assertTrue(game.isSpaceFree(7))
     self.assertTrue(game.isSpaceFree(8))
     self.assertTrue(game.isSpaceFree(9))
예제 #5
0
 def test_isSpaceFree_should_tell_if_given_position_is_free(self):
     game = Game('X')
     self.assertTrue(game.isSpaceFree(1))
     self.assertTrue(game.isSpaceFree(2))
     self.assertTrue(game.isSpaceFree(3))
     self.assertTrue(game.isSpaceFree(4))
     self.assertTrue(game.isSpaceFree(5))
     self.assertTrue(game.isSpaceFree(6))
     self.assertTrue(game.isSpaceFree(7))
     self.assertTrue(game.isSpaceFree(8))
     self.assertTrue(game.isSpaceFree(9))
예제 #6
0
 def test_getBotMove_should_try_to_take_a_corner_if_center_is_not_free(self):
     game = Game('X')
     game.makeMove(5, 'X')
     self.assertTrue(game.getBotMove() in [1, 3, 7, 9])
예제 #7
0
 def test_getBotMove_should_try_to_move_in_middle_if_it_is_free(self):
     game = Game('X')
     self.assertEquals(game.getBotMove(), 5)
예제 #8
0
 def test_game_should_return_user_symbol(self):
     game = Game("X")
     self.assertEquals(game.getUserSymbol(), 'X')
예제 #9
0
    def test_isBoardFull_should_return_true_if_there_is_no_any_space_to_move(
            self):
        game = Game('X')
        game.makeMove(1, 'X')
        game.makeMove(2, 'X')
        game.makeMove(3, 'X')
        self.assertFalse(game.isBoardFull())

        game.makeMove(4, 'X')
        game.makeMove(5, 'X')
        game.makeMove(6, 'X')
        game.makeMove(7, 'X')
        game.makeMove(8, 'X')
        game.makeMove(9, 'X')
        self.assertTrue(game.isBoardFull())
예제 #10
0
 def test_getBotSymbol_should_decide_symbol_for_bot_according_to_player_symbol(self):
     game = Game('X')
     self.assertEquals(game.getBotSymbol(), 'O')
     game2 = Game('O')
     self.assertEquals(game2.getBotSymbol(), 'X')
예제 #11
0
 def test_game_should_return_user_symbol(self):
     game = Game("X")
     self.assertEquals(game.getUserSymbol(), 'X')
예제 #12
0
 def test_getInitialTurn_should_choose_random_turn_between_player_and_bot(self):
     game = Game('X')
     self.assertTrue(game.getInitialMove() in ['Player', 'Bot'])
예제 #13
0
 def test_make_move_should_not_make_users_move_if_there_is_no_space(self):
     game = Game('X')
     game.makeMove(1, 'X')
     game.makeMove(1, 'X')
     self.assertFalse(game.isSpaceFree(1))
예제 #14
0
 def test_getBoard_should_give_array_representation_of_game(self):
     game = Game('X')
     self.assertListEqual(game.getBoard(), ['...'] * 10)
     game.makeMove(1, 'X')
     self.assertListEqual(game.getBoard(), [
         '...', 'X', '...', '...', '...', '...', '...', '...', '...', '...'
     ])
     game.makeMove(game.getBotMove(), game.getBotSymbol())
     self.assertListEqual(
         game.getBoard(),
         ['...', 'X', '...', '...', '...', 'O', '...', '...', '...', '...'])
예제 #15
0
 def test_getInitialTurn_should_choose_random_turn_between_player_and_bot(
         self):
     game = Game('X')
     self.assertTrue(game.getInitialMove() in ['Player', 'Bot'])
예제 #16
0
 def test_getBotMove_should_try_to_be_winner_if_it_can(self):
     game = Game('X')
     game.makeMove(1, 'O')
     game.makeMove(3, 'O')
     self.assertEquals(game.getBotMove(), 2)
예제 #17
0
 def test_getBotMove_should_block_if_player_can_win_in_next_round(self):
     game = Game('X')
     game.makeMove(1, 'X')
     game.makeMove(3, 'X')
     self.assertEquals(game.getBotMove(), 2)
예제 #18
0
 def test_getBotMove_should_try_to_take_a_corner_if_center_is_not_free(
         self):
     game = Game('X')
     game.makeMove(5, 'X')
     self.assertTrue(game.getBotMove() in [1, 3, 7, 9])
예제 #19
0
 def test_getBotMove_should_try_to_move_in_middle_if_it_is_free(self):
     game = Game('X')
     self.assertEquals(game.getBotMove(), 5)
예제 #20
0
 def test_getBotMove_should_block_if_player_can_win_in_next_round(self):
     game = Game('X')
     game.makeMove(1, 'X')
     game.makeMove(3, 'X')
     self.assertEquals(game.getBotMove(), 2)
예제 #21
0
 def test_getBotMove_should_try_to_be_winner_if_it_can(self):
     game = Game('X')
     game.makeMove(1, 'O')
     game.makeMove(3, 'O')
     self.assertEquals(game.getBotMove(), 2)
예제 #22
0
 def test_make_move_should_not_make_users_move_if_there_is_no_space(self):
     game = Game('X')
     game.makeMove(1, 'X')
     game.makeMove(1, 'X')
     self.assertFalse(game.isSpaceFree(1))
예제 #23
0
    def test_isBoardFull_should_return_true_if_there_is_no_any_space_to_move(self):
        game = Game('X')
        game.makeMove(1, 'X')
        game.makeMove(2, 'X')
        game.makeMove(3, 'X')
        self.assertFalse(game.isBoardFull())

        game.makeMove(4, 'X')
        game.makeMove(5, 'X')
        game.makeMove(6, 'X')
        game.makeMove(7, 'X')
        game.makeMove(8, 'X')
        game.makeMove(9, 'X')
        self.assertTrue(game.isBoardFull())
예제 #24
0
 def test_getBotSymbol_should_decide_symbol_for_bot_according_to_player_symbol(
         self):
     game = Game('X')
     self.assertEquals(game.getBotSymbol(), 'O')
     game2 = Game('O')
     self.assertEquals(game2.getBotSymbol(), 'X')