Esempio n. 1
0
 def test_get_pieces(self):
     g = Game(rows=1)
     g.drop_cross(0)
     g.drop_round(1)
     self.assertTrue((0,0) in g._get_pieces('X'))
     self.assertFalse((1,0) in g._get_pieces('X'))
     self.assertTrue((1,0) in g._get_pieces('O'))
     self.assertFalse((0,0) in g._get_pieces('O'))
Esempio n. 2
0
 def test_horizontal_win_by_round(self):
     # Horizontal win using round
     g = Game()
     [g.drop_round(i) for i in range(4)]
     self.assertTrue(g._horizontal_win('O'))
     self.assertFalse(g._horizontal_win('X'))
Esempio n. 3
0
 def test_vertical_win_by_round(self):
     # Vertical win using round
     g = Game()
     [g.drop_round(0) for i in range(4)]
     self.assertTrue(g._vertical_win('O'))
     self.assertFalse(g._vertical_win('X'))
Esempio n. 4
0
 def test_drop_round_on_full_column_raises(self):
     g = Game(rows=2)
     self.assertEquals(g.drop_round(0), (0,1))
     self.assertEquals(g.drop_round(0), (0,0))
     self.assertRaises(ColumnFullException, g.drop_round, 0)
Esempio n. 5
0
 def test_drop_round(self):
     g = Game()
     self.assertEquals(g.drop_round(0), (0,5))
     self.assertTrue((0,5) in g._round_pieces)
Esempio n. 6
0
    def test_diagonal_win_by_cross(self):
        """
        Diagonal win using this structure
              X
            X O
          X O O
        X O O O
        """
        g = Game()
        g.drop_cross(0)
        g.drop_round(1)
        g.drop_cross(1)
        g.drop_round(2)
        g.drop_round(2)
        g.drop_cross(2)
        g.drop_round(3)
        g.drop_round(3)
        g.drop_round(3)
        g.drop_cross(3)
        self.assertTrue(g._diagonal_win('X'))

        """
        Diagonal win using this structure
        X
        O X
        O O X
        O O O X
        """
        g = Game()
        g.drop_cross(3)
        g.drop_round(2)
        g.drop_cross(2)
        g.drop_round(1)
        g.drop_round(1)
        g.drop_cross(1)
        g.drop_round(0)
        g.drop_round(0)
        g.drop_round(0)
        g.drop_cross(0)
        self.assertTrue(g._diagonal_win('X'))
        self.assertFalse(g._diagonal_win('O'))

        # No victory, insufficient total pieces
        g = Game()
        [g.drop_cross(i) for i in range(3)]
        self.assertFalse(g._diagonal_win('X'))