def test_draw(self): board = TTTBoard(3, False, [[EMPTY, EMPTY, PLAYERX], [EMPTY, EMPTY, EMPTY], [EMPTY, EMPTY, EMPTY]]) self.assertEqual(mm_move(board, PLAYERO), (0, (1, 1))) board = TTTBoard(3, False, [[PLAYERX, EMPTY, EMPTY], [PLAYERO, PLAYERO, EMPTY], [EMPTY, PLAYERX, EMPTY]]) self.assertEqual(mm_move(board, PLAYERX), (0, (1, 2))) board = TTTBoard(3, False, [[EMPTY, EMPTY, PLAYERX], [EMPTY, EMPTY, EMPTY], [EMPTY, EMPTY, EMPTY]]) self.assertEqual(mm_move(board, PLAYERO), (0, (1, 1)))
def test_move_it(self): board = TTTBoard(3, False, [[PLAYERO, PLAYERX, PLAYERX], [PLAYERO, PLAYERX, PLAYERO], [PLAYERX, PLAYERO, PLAYERX]]) self.assertIsInstance(board, TTTBoard) self.assertIs(type(mm_move(board, PLAYERX)), tuple) score, move = mm_move(board, PLAYERX) self.assertIs(type(score), int) self.assertIs(type(move), tuple) self.assertEqual(mm_move(board, PLAYERX), (1, (-1, -1))) board = TTTBoard(3, False, [[PLAYERO, PLAYERX, PLAYERX], [PLAYERX, PLAYERO, PLAYERO], [PLAYERO, PLAYERX, PLAYERX]]) self.assertEqual(mm_move(board, DRAW), (0, (-1, -1))) board = TTTBoard(3, False, [[PLAYERO, PLAYERX, PLAYERX], [PLAYERO, PLAYERX, PLAYERO], [PLAYERO, PLAYERO, PLAYERX]]) self.assertEqual(mm_move(board, PLAYERO), (-1, (-1, -1)))
def test_lost_it(self): board = TTTBoard(3, False, [[PLAYERX, PLAYERX, PLAYERO], [EMPTY, PLAYERX, PLAYERX], [PLAYERO, EMPTY, PLAYERO]]) self.assertEqual(mm_move(board, PLAYERO), (-1, (2, 1))) board = TTTBoard(3, False, [[PLAYERX, PLAYERX, PLAYERO], [EMPTY, PLAYERX, PLAYERX], [PLAYERO, EMPTY, PLAYERO]]) self.assertEqual(mm_move(board, PLAYERO), (-1, (2, 1)))
def test_won_it(self): board = TTTBoard(3, False, [[PLAYERX, PLAYERX, PLAYERO], [PLAYERO, PLAYERX, PLAYERX], [PLAYERO, EMPTY, PLAYERO]]) self.assertEqual(mm_move(board, PLAYERX), (1, (2, 1))) board = TTTBoard(2, False, [[EMPTY, EMPTY], [EMPTY, EMPTY]]) self.assertEqual(mm_move(board, PLAYERX), (1, (0, 0)))