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)))
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))