예제 #1
0
 def test_freecells(self):
     board = Board(7, 7)
     self.assertEqual(49, len(board.free_cells()))
     indexes = set([])
     for i in range(randrange(49)):
         indexes.add(i and randrange(i) or 0)
     board.sign_indexes(indexes)
     self.assertEqual(set(board.free_cells()), set(range(0, 49)).difference(set(indexes)))
예제 #2
0
    def test_signing(self):
        board = Board(7, 7)
        indexes = set([])
        for i in range(1, randrange(49)):
            indexes.add(i and randrange(i) or 0)
        board.sign_indexes(indexes)
        self.assertEqual(len(filter(lambda x: x == FORBIDDEN, board.board)), len(indexes))

        # locate a piece
        board.reset()
        board.board[choice(list(indexes))] = "K"
        self.assertFalse(board.sign_indexes(indexes))