Exemple #1
0
 def setUp(self):
     self.board = Board()
     self.player = ComputerPlayer('X')
Exemple #2
0
class BoardTest(unittest.TestCase):
    def setUp(self):
        self.board = Board()
        self.player = ComputerPlayer('X')

    def testBoardToString(self):
        self.board.player_moves = [
            ['X', 'O', 'X'],
            ['X', None, 'X'],
            ['X', 'X', 'O'],
        ]

        self.assertEqual(str(self.board), ("   X   |   O   |   X   \n"
                                           "-------+-------+-------\n"
                                           "   X   | (1,1) |   X   \n"
                                           "-------+-------+-------\n"
                                           "   X   |   X   |   O   "))

    def testInitialMatrix(self):
        self.assertEquals(self.board._get_none_matrix(3), [
            [None, None, None],
            [None, None, None],
            [None, None, None],
        ])

    def testHorizontalWinningMarker(self):
        self.assertEquals(
            'X',
            self.board._get_winning_marker([
                ['X', 'X', 'X'],
                [None, None, None],
                [None, None, None],
            ]))

    def testVerticalWinningMarker(self):
        self.assertEquals(
            'O',
            self.board._get_winning_marker([
                ['O', None, None],
                ['O', None, None],
                ['O', None, None],
            ]))

    def testDownRightDiagonalWinningMarker(self):
        self.assertEquals(
            'O',
            self.board._get_winning_marker([
                ['O', None, None],
                [None, 'O', None],
                [None, None, 'O'],
            ]))

    def testDownLeftDiagonalWinningMarker(self):
        self.assertEquals(
            'X',
            self.board._get_winning_marker([
                [None, None, 'X'],
                [None, 'X', None],
                ['X', None, None],
            ]))

    def testNoWinningMarker(self):
        self.assertEquals(
            None,
            self.board._get_winning_marker([
                ['O', 'O', 'X'],
                ['X', None, 'X'],
                ['X', 'X', 'O'],
            ]))

    def testSetMarkerOutOfRange(self):
        with self.assertRaises(MarkerOutOfRange):
            self.board.set_marker(self.player.marker, 4, 1)

    def testSetMarkerExists(self):
        set_marker = lambda: self.board.set_marker(self.player.marker, 2, 1)

        set_marker()
        with self.assertRaises(MarkerExists):
            set_marker()
Exemple #3
0
class BoardTest(unittest.TestCase):

    def setUp(self):
        self.board = Board()
        self.player = ComputerPlayer('X')

    def testBoardToString(self):
        self.board.player_moves = [
            ['X', 'O', 'X'],
            ['X', None, 'X'],
            ['X', 'X', 'O'],
        ]

        self.assertEqual(str(self.board), (
            "   X   |   O   |   X   \n"
            "-------+-------+-------\n"
            "   X   | (1,1) |   X   \n"
            "-------+-------+-------\n"
            "   X   |   X   |   O   "
        ))

    def testInitialMatrix(self):
        self.assertEquals(self.board._get_none_matrix(3), [
            [None, None, None],
            [None, None, None],
            [None, None, None],
        ])

    def testHorizontalWinningMarker(self):
        self.assertEquals('X', self.board._get_winning_marker([
            ['X', 'X', 'X'],
            [None, None, None],
            [None, None, None],
        ]))

    def testVerticalWinningMarker(self):
        self.assertEquals('O', self.board._get_winning_marker([
            ['O', None, None],
            ['O', None, None],
            ['O', None, None],
        ]))

    def testDownRightDiagonalWinningMarker(self):
        self.assertEquals('O', self.board._get_winning_marker([
            ['O', None, None],
            [None, 'O', None],
            [None, None, 'O'],
        ]))

    def testDownLeftDiagonalWinningMarker(self):
        self.assertEquals('X', self.board._get_winning_marker([
            [None, None, 'X'],
            [None, 'X', None],
            ['X', None, None],
        ]))

    def testNoWinningMarker(self):
        self.assertEquals(None, self.board._get_winning_marker([
            ['O', 'O', 'X'],
            ['X', None, 'X'],
            ['X', 'X', 'O'],
        ]))

    def testSetMarkerOutOfRange(self):
        with self.assertRaises(MarkerOutOfRange):
            self.board.set_marker(self.player.marker, 4, 1)

    def testSetMarkerExists(self):
        set_marker = lambda: self.board.set_marker(self.player.marker, 2, 1)

        set_marker()
        with self.assertRaises(MarkerExists):
            set_marker()
Exemple #4
0
 def testMakeAMoveAsUnimplemented(self):
     board = Board()
     with self.assertRaises(NotImplementedError):
         self.player.make_a_move(board)
Exemple #5
0
 def setUp(self):
     self.board = Board()
     self.player = ComputerPlayer('X')