Esempio n. 1
0
 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)))
Esempio n. 2
0
 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)))
Esempio n. 3
0
 def test_move_it(self):
     board = TTTBoard(
         3, False,
         [[PLAYERO, PLAYERX, PLAYERX], [PLAYERO, PLAYERX, PLAYERO],
          [PLAYERX, PLAYERO, PLAYERX]])
     self.assertIsInstance(
         board, TTTBoard)  # assert board is an instance of TTTBoard class
     self.assertIs(type(mm_move(board, PLAYERX)),
                   tuple)  # assert mm_move function returns a tuple
     score, move = mm_move(
         board, PLAYERX)  # mm_move returns a score, and a move value
     self.assertIs(type(score), int)  # assert score is an int
     self.assertIs(type(move), tuple)  # assert move is a tuple
     self.assertEqual(
         mm_move(board, PLAYERX),
         (1, (-1, -1)))  # return an illegal move since the game is over.
     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)))
Esempio n. 4
0
 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)))
Esempio n. 5
0
 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)))
Esempio n. 6
0
 def test_move_it(self):
     board = TTTBoard(3, False,
                      [[PLAYERO, PLAYERX, PLAYERX], [PLAYERO, PLAYERX, PLAYERO], [PLAYERX, PLAYERO, PLAYERX]])
     self.assertIsInstance(board, TTTBoard)  # assert board is an instance of TTTBoard class
     self.assertIs(type(mm_move(board, PLAYERX)), tuple)  # assert mm_move function returns a tuple
     score, move = mm_move(board, PLAYERX)  # mm_move returns a score, and a move value
     self.assertIs(type(score), int)  # assert score is an int
     self.assertIs(type(move), tuple)  # assert move is a tuple
     self.assertEqual(mm_move(board, PLAYERX), (1, (-1, -1)))  # return an illegal move since the game is over.
     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)))
Esempio n. 7
0
 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)))
Esempio n. 8
0
 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)))
Esempio n. 9
0
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 27 09:06:23 2015

@author: aino
"""

import ttt_minimax as ttt
import poc_ttt_provided as provided

print ttt.mm_move(provided.TTTBoard(3, False, [[provided.PLAYERX, provided.EMPTY, provided.EMPTY], 
                                               [provided.PLAYERO, provided.PLAYERO, provided.EMPTY], 
                                                [provided.EMPTY, provided.PLAYERX, provided.EMPTY]]), 
                                                provided.PLAYERX)
                                                
print ttt.mm_move(provided.TTTBoard(3, False, [[provided.EMPTY, provided.EMPTY, provided.PLAYERX], 
                                               [provided.EMPTY, provided.EMPTY, provided.EMPTY], 
                                                [provided.EMPTY, provided.EMPTY, provided.EMPTY]]), 
                                                provided.PLAYERO)                                        
                                                
print ttt.mm_move(provided.TTTBoard(3, False, [[provided.PLAYERX, provided.PLAYERX, provided.PLAYERO], 
                                               [provided.EMPTY, provided.PLAYERX, provided.PLAYERX], 
                                                [provided.PLAYERO, provided.EMPTY, provided.PLAYERO]]), 
                                                provided.PLAYERO)
                                                
print ttt.mm_move(provided.TTTBoard(2, False, [[provided.EMPTY, provided.EMPTY], 
                                               [provided.EMPTY, provided.EMPTY]]), 
                                                provided.PLAYERX)                                                
Esempio n. 10
0
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 27 09:06:23 2015

@author: aino
"""

import ttt_minimax as ttt
import poc_ttt_provided as provided

print ttt.mm_move(
    provided.TTTBoard(3, False,
                      [[provided.PLAYERX, provided.EMPTY, provided.EMPTY],
                       [provided.PLAYERO, provided.PLAYERO, provided.EMPTY],
                       [provided.EMPTY, provided.PLAYERX, provided.EMPTY]]),
    provided.PLAYERX)

print ttt.mm_move(
    provided.TTTBoard(3, False,
                      [[provided.EMPTY, provided.EMPTY, provided.PLAYERX],
                       [provided.EMPTY, provided.EMPTY, provided.EMPTY],
                       [provided.EMPTY, provided.EMPTY, provided.EMPTY]]),
    provided.PLAYERO)

print ttt.mm_move(
    provided.TTTBoard(3, False,
                      [[provided.PLAYERX, provided.PLAYERX, provided.PLAYERO],
                       [provided.EMPTY, provided.PLAYERX, provided.PLAYERX],
                       [provided.PLAYERO, provided.EMPTY, provided.PLAYERO]]),
    provided.PLAYERO)