Example #1
0
    def __init__(self, fill_type='filler', solver=None):
        if not solver:
            self.solver = ShortestPaths()
        else:
            self.solver = solver

        if fill_type == 'sealer':
            self._remove_dead_end = SEALER
        else:
            self._remove_dead_end = FILLER
Example #2
0
    def testShortestPaths(self):
        """ test against a maze with outer/inner entraces """
        starts = [True, False]
        ends = [True, False]

        for s in starts:
            for e in ends:
                m = self._create_maze_with_varied_entrances(s, e)
                m.solver = ShortestPaths()
                m.solve()

                for sol in m.solutions:
                    self.assertFalse(self._duplicates_in_solution(sol))
                    self.assertTrue(self._one_away(m.start, sol[0]))
                    self.assertTrue(self._one_away(m.end, sol[-1]))
Example #3
0
    def test_shortest_paths(self):
        """ test against a maze with outer/inner entraces """
        starts = [True, False]
        ends = [True, False]

        for s in starts:
            for e in ends:
                m = self.create_maze_with_varied_entrances(s, e)
                m.solver = ShortestPaths()
                m.solve()

                for sol in m.solutions:
                    assert not self.duplicates_in_solution(sol)
                    assert self.one_away(m.start, sol[0])
                    assert self.one_away(m.end, sol[-1])
                    assert self.solution_is_sane(sol)
Example #4
0
 def __init__(self, solver=None):
     if not solver:
         self.solver = ShortestPaths()
     else:
         self.solver = solver
Example #5
0
 def __init__(self, solver=None):
     if not solver:
         self.solver = DeadEndFiller(ShortestPaths())
     else:
         self.solver = DeadEndFiller(solver)