Exemplo n.º 1
0
 def test_invalid_four_moves(self):
     g = Game()
     g.place(0, 0, g.EX)
     g.place(1, 0, g.OH)
     g.place(0, 1, g.EX)
     g.place(2, 1, g.EX)
     self.assertFalse(g.is_valid_board())
Exemplo n.º 2
0
    def test_won_twice_plus(self):
        g = Game()
        g.place(0, 1, g.EX)
        g.place(1, 0, g.EX)
        g.place(1, 1, g.EX)
        g.place(1, 2, g.EX)
        g.place(2, 1, g.EX)

        g.place(0, 0, g.OH)
        g.place(0, 2, g.OH)
        g.place(2, 0, g.OH)
        g.place(2, 2, g.OH)

        self.assertFalse(g.is_valid_board())
Exemplo n.º 3
0
    def test_winner_oh(self):
        g = Game()

        g.place(0, 0, g.OH)
        self.assertTrue(g.is_valid_board())
        g.place(1, 0, g.EX)
        self.assertTrue(g.is_valid_board())
        g.place(0, 1, g.OH)
        self.assertTrue(g.is_valid_board())
        g.place(1, 1, g.EX)
        self.assertTrue(g.is_valid_board())
        g.place(0, 2, g.OH)
        self.assertTrue(g.is_valid_board())

        self.assertEqual(g.get_winning_player(), g.OH)
Exemplo n.º 4
0
    def test_two_winners(self):
        g = Game()
        g.place(0, 0, g.EX)
        g.place(0, 1, g.EX)
        g.place(0, 2, g.EX)
        g.place(1, 0, g.OH)
        g.place(1, 1, g.OH)
        g.place(1, 2, g.OH)

        self.assertFalse(g.is_valid_board())
Exemplo n.º 5
0
 def test_valid_single_move(self):
     g = Game()
     g.place(0, 0, g.EX)
     self.assertTrue(g.is_valid_board())
Exemplo n.º 6
0
 def test_row_win_oh(self):
     g = Game()
     g.place(0, 0, g.OH)
     g.place(0, 1, g.OH)
     g.place(0, 2, g.OH)
     self.assertEqual(g.get_winning_player(), g.OH)
Exemplo n.º 7
0
 def test_diag_win2(self):
     g = Game()
     g.place(0, 2, g.EX)
     g.place(1, 1, g.EX)
     g.place(2, 0, g.EX)
     self.assertEqual(g.get_winning_player(), g.EX)
Exemplo n.º 8
0
 def test_col_win(self):
     g = Game()
     g.place(0, 0, g.EX)
     g.place(1, 0, g.EX)
     g.place(2, 0, g.EX)
     self.assertEqual(g.get_winning_player(), g.EX)
Exemplo n.º 9
0
    def test_position1(self):
        g = Game()
        g.place(1, 1, g.EX)

        self.assertEqual(g.get_position(1, 1), g.EX)
Exemplo n.º 10
0
 def test_single_move(self):
     """Ensure a single move doesn't create an error."""
     g = Game()
     g.place(1, 1, g.EX)
Exemplo n.º 11
0
    def test_bogus_player(self):
        g = Game()

        with self.assertRaises(ValueError):
            g.place(0, 0, 42)
Exemplo n.º 12
0
    def test_invalid_placement2(self):
        g = Game()

        with self.assertRaises(ValueError):
            g.place(3, 0, g.EX)
Exemplo n.º 13
0
    def test_double_move(self):
        g = Game()
        g.place(0, 0, g.EX)

        with self.assertRaises(ValueError):
            g.place(0, 0, g.EX)
Exemplo n.º 14
0
 def test_valid_three_moves(self):
     g = Game()
     g.place(0, 0, g.EX)
     g.place(1, 0, g.OH)
     g.place(0, 1, g.EX)
     self.assertTrue(g.is_valid_board())