Exemplo n.º 1
0
    def test_read_json_file(self):
        # arrange
        file_path = "/home/hannah/Documents/FunProjects/Challenges/nonogram/test_nonogram.json"
        reader = PuzzleReader(file_path)

        # act
        puzzle = reader._read_json_puzzle_file()

        # assert
        assert len(puzzle) == 2
Exemplo n.º 2
0
    def test_get_row_and_column_numbers(self):
        # arrange
        file_path = "/home/hannah/Documents/FunProjects/Challenges/nonogram/test_nonogram.json"
        reader = PuzzleReader(file_path)

        # act
        rows, columns = reader.get_row_and_column_numbers()

        # assert
        assert len(rows) == 10
        assert len(columns) == 10
    def test_fill_definite_squares_in_column(self):
        # arrange
        path = r"/home/hannah/Documents/FunProjects/Challenges/nonogram/test_nonogram_5x5.json"
        reader = PuzzleReader(path)
        solver = Solver(Grid(5), reader)

        # act
        solver.fill_definite_squares_in_column()

        # assert
        assert solver.grid.get_column_as_string(4) == ".X.X."
Exemplo n.º 4
0
 def __init__(self, puzzle_filepath):
     self.puzzle_input = PuzzleReader.read_as_list(puzzle_filepath)
     self.claims = self.parse_claims_from_list(self.puzzle_input)
 def __init__(self, puzzle_filepath):
     self.freq_changes = [
         int(x) for x in PuzzleReader.read_as_list(puzzle_filepath)
     ]
 def __init__(self, puzzle_filepath):
     self.inventory = PuzzleReader.read_as_list(puzzle_filepath)
Exemplo n.º 7
0
 def __init__(self, grid: Grid, reader: PuzzleReader):
     self.grid = grid
     self.row_nums, self.col_nums = reader.get_row_and_column_numbers()
Exemplo n.º 8
0
def main():
    grid = Grid(5)
    path = r"/home/hannah/Documents/FunProjects/Challenges/nonogram/test_nonogram_5x5.json"
    reader = PuzzleReader(path)
    solver = SlightlyBetterThanRandomNonogramSolver(grid, reader)
    solver.solve()