Пример #1
0
    def testTrivialMaze(self):
        m = Maze()
        m.generator = TrivialMaze(4, 5)
        m.generate()

        self.assertTrue(self.boundary_is_solid(m.grid))
        self.assertTrue(self.all_passages_open(m.grid))
        self.assertTrue(self.all_corners_complete(m.grid))
Пример #2
0
    def test_trivial_maze_serpentine(self):
        # run this test enough times to trip the different skewness parameters
        for _ in range(10):
            m = Maze()
            m.generator = TrivialMaze(4, 5, 'serpentine')
            m.generate()

            self.assertTrue(boundary_is_solid(m.grid))
            self.assertTrue(all_passages_open(m.grid))
            self.assertTrue(all_corners_complete(m.grid))
Пример #3
0
    def test_trivial_maze_spiral(self):
        """ test that the trivial/spiral maze is reasonably sane """
        m = Maze()
        m.generator = TrivialMaze(4, 5)
        m.generate()

        assert boundary_is_solid(m.grid)
        assert all_passages_open(m.grid)
        assert all_corners_complete(m.grid)
        assert all_corners_complete(m.grid)
Пример #4
0
    def test_perturbation(self):
        m = Maze()
        m.generator = TrivialMaze(4, 5)
        m.generate()

        m.transmuters = [Perturbation()]
        m.transmute()

        self.assertTrue(boundary_is_solid(m.grid))
        self.assertTrue(all_passages_open(m.grid))
        self.assertTrue(all_corners_complete(m.grid))
Пример #5
0
    def test_perturbation(self):
        """ Test the Perturbation algorithm leaves the maze in a solvable state """
        m = Maze()
        m.generator = TrivialMaze(4, 5)
        m.generate()

        m.transmuters = [Perturbation()]
        m.transmute()

        assert boundary_is_solid(m.grid)
        assert all_passages_open(m.grid)
        assert all_corners_complete(m.grid)
Пример #6
0
    def test_trivial_maze_serpentine(self):
        """ test that the trivial/spiral maze is reasonably sane when using the serpentine alternative
        run this test enough times to trip the different skewness parameters
        """
        for _ in range(10):
            m = Maze()
            m.generator = TrivialMaze(4, 5, 'serpentine')
            m.generate()

            assert boundary_is_solid(m.grid)
            assert all_passages_open(m.grid)
            assert all_corners_complete(m.grid)