def setUp(self):
     """setUp"""
     self.game = ConnectNGame(n=3,
                              num_col=3,
                              num_rows=3,
                              ai=False,
                              graphic=False)
class PygameUtilityTests(unittest.TestCase):
    # Tests for project Connect-N.
    def setUp(self):
        """setUp"""
        self.game = ConnectNGame(graphic=True, ai=True)

    def tearDown(self):
        """tearDown"""
        self.game.reset()
        del self.game

    def test_play(self):
        """Testing graphic play method"""
        self.game.players.append(AI(self.game, 2))
        self.game.play()
        self.assertEqual(self.game.winner.name, "AI")
 def setUp(self):
     """setUp"""
     self.ai = AI(ConnectNGame(ai=True, graphic=False))
class ConnectNTests(unittest.TestCase):
    # Tests for project Connect-N.
    def setUp(self):
        """setUp"""
        self.game = ConnectNGame(n=3,
                                 num_col=3,
                                 num_rows=3,
                                 ai=False,
                                 graphic=False)

    def tearDown(self):
        """tearDown"""
        self.game.reset()
        del self.game

    def test_horizontal_winning_move(self):
        """Testing Winning move(Horizontal Check)"""
        self.game.board = [[1, 1, 1], [0, 0, 0], [0, 0, 0]]
        self.assertTrue(self.game.is_winning_move(0, 2))
        self.game.board = [[1, 1, 0], [1, 0, 0], [0, 0, 0]]
        self.assertFalse(self.game.is_winning_move(1, 0))
        self.game.board = [[1, 1, 0], [0, 1, 0], [0, 0, 0]]
        self.assertFalse(self.game.is_winning_move(1, 1))

    def test_vertical_winning_move(self):
        """Testing Winning move(Vertical Check)"""
        self.game.board = [[1, 0, 0], [1, 0, 0], [1, 0, 0]]
        self.assertTrue(self.game.is_winning_move(2, 0))
        self.game.board = [[1, 0, 0], [1, 0, 0], [0, 1, 0]]
        self.assertFalse(self.game.is_winning_move(2, 1))
        self.game.board = [[1, 1, 0], [1, 0, 0], [0, 0, 0]]
        self.assertFalse(self.game.is_winning_move(0, 1))

    def test_positive_digonal_winning_move(self):
        """Testing Winning move(Positive digonal Check)"""
        self.game.board = [[1, 2, 2], [0, 1, 2], [0, 0, 1]]
        self.assertTrue(self.game.is_winning_move(1, 1))

    def test_negative_digonal_winning_move(self):
        """Testing Winning move()"""
        self.game.board = [[1, 2, 1], [2, 1, 0], [1, 0, 0]]
        self.assertTrue(self.game.is_winning_move(1, 1))

    def test_add_player(self):
        """Testing add player method"""
        p = Player("A")
        with self.assertRaises(ValueError):
            self.game.add_player(p)
            self.game.add_player(p)

    def test_simulate(self):
        """Testing simulate method"""
        self.game.add_player(Player("A"))
        self.game.add_player(Player("B"))
        self.game.simulate(turn=0, sequence=[0, 1, 0, 1, 0])
        self.assertTrue(self.game.winner)
        self.assertEqual(self.game.winner.name, self.game.players[0].name)

    def test_make_move(self):
        """Testing make move method"""
        p = Player("A")
        self.game.add_player(p)
        self.assertEqual(self.game.make_move(0, p.p_id), 0)
        p = Player("B")
        self.game.add_player(p)
        self.assertEqual(self.game.make_move(0, p.p_id), 1)

    def test_is_valid_move(self):
        """Testing is_valid_move"""
        p = Player("A")
        self.game.add_player(p)
        self.assertTrue(self.game.is_valid_move(0))
        self.game.board = [[1, 0, 0], [1, 0, 0], [1, 0, 0]]
        self.assertFalse(self.game.is_valid_move(0))

    def test_get_valid_moves(self):
        """Testing valid moves"""
        board = [[0, 0, 0], [0, 0, 0], [1, 0, 0]]
        self.assertEqual(self.game.get_valid_moves(board=board), [1, 2])

    def test_get_strings(self):
        """Testing get_strings"""
        board = np.array([[0, 0, 0], [0, 0, 0], [1, 0, 0]], dtype=int)
        strings = ["000", "000", "100", "001", "000", "000", "001", "000"]
        self.assertEqual(self.game.get_strings(board=board), strings)
 def setUp(self):
     """setUp"""
     self.game = ConnectNGame(graphic=True, ai=True)
Exemple #6
0
@author: Kartikei Mittal

@email: [email protected]

main.py file for demostrating use of connect_n module.

https://github.com/Kartikei-12/Connect-N
"""

__author__ = "Kartikei Mittal"
__email__ = "*****@*****.**"

# User module(s)
from connect_n.player import Player
from connect_n.connect_n import ConnectNGame

if __name__ == "__main__":
    # Main program block of the project.
    print(
        "Hello World!!\n---------------------------------------------------------"
    )
    game = ConnectNGame(graphic=True, ai=True, record=True)
    print(game)
    print(game.__version__)
    game.add_player(Player("Mr.REX"))
    # game.add_player(Player("B"))
    game.play()
    print(
        "-----------------------------------------------------------\nBye World!!"
    )
Exemple #7
0
class ConnectNTests(unittest.TestCase):
    # Tests for project Connect-N.
    def setUp(self):
        """setUp"""
        self.game = ConnectNGame(n=3, num_col=3, num_rows=3, ai=False)

    def tearDown(self):
        """tearDown"""
        self.game.reset()
        del self.game

    def test_version(self):
        """Testing version system"""
        self.assertEqual(getVersion("connect_n/version.txt"),
                         self.game.__version__[5:])

    def test_horizontal_winning_move(self):
        """Testing Winning move(Horizontal Check)"""
        self.game.board = [[1, 1, 1], [0, 0, 0], [0, 0, 0]]
        self.assertTrue(self.game.is_winning_move(0, 2))
        self.game.board = [[1, 1, 0], [1, 0, 0], [0, 0, 0]]
        self.assertFalse(self.game.is_winning_move(1, 0))
        self.game.board = [[1, 1, 0], [0, 1, 0], [0, 0, 0]]
        self.assertFalse(self.game.is_winning_move(1, 1))

    def test_vertical_winning_move(self):
        """Testing Winning move(Vertical Check)"""
        self.game.board = [[1, 0, 0], [1, 0, 0], [1, 0, 0]]
        self.assertTrue(self.game.is_winning_move(2, 0))
        self.game.board = [[1, 0, 0], [1, 0, 0], [0, 1, 0]]
        self.assertFalse(self.game.is_winning_move(2, 1))
        self.game.board = [[1, 1, 0], [1, 0, 0], [0, 0, 0]]
        self.assertFalse(self.game.is_winning_move(0, 1))

    def test_positive_digonal_winning_move(self):
        """Testing Winning move(Positive digonal Check)"""
        self.game.board = [[1, 2, 2], [0, 1, 2], [0, 0, 1]]
        self.assertTrue(self.game.is_winning_move(1, 1))

    def test_negative_digonal_winning_move(self):
        """Testing Winning move()"""
        self.game.board = [[1, 2, 1], [2, 1, 0], [1, 0, 0]]
        self.assertTrue(self.game.is_winning_move(1, 1))

    def test_add_player(self):
        """Testing add player method"""
        p = Player("A")
        with self.assertRaises(ValueError):
            self.game.add_player(p)
            self.game.add_player(p)

    def test_simulate(self):
        """Testing simulate method"""
        self.game.add_player(Player("A"))
        self.game.add_player(Player("B"))
        self.game.simulate([0, 1, 0, 1, 0])
        self.assertTrue(self.game.winner)
        self.assertEqual(self.game.winner.name, self.game.players[0].name)

    def test_make_move(self):
        """Testing make move method"""
        p = Player("A")
        self.game.add_player(p)
        self.assertEqual(self.game.make_move(0, p.id), 0)
        p = Player("B")
        self.game.add_player(p)
        self.assertEqual(self.game.make_move(0, p.id), 1)

    def test_is_valid_move(self):
        """Testing is_valid_move"""
        p = Player("A")
        self.game.add_player(p)
        self.assertTrue(self.game.is_valid_move(0))
        self.game.board = [[1, 0, 0], [1, 0, 0], [1, 0, 0]]
        self.assertFalse(self.game.is_valid_move(0))