예제 #1
0
 def test_trivial_fail(self):
     """Most trivial fail case."""
     maze = [
         [0]
     ]
     ms = MS(maze=maze)
     start = Coord(0, 0)
     end = Coord(0, 0)
     path = ms.solvemaze(start, end)
     self.assertEqual(path, -1)
예제 #2
0
 def test_trivial_pass(self):
     """Most trivial pass case."""
     maze = [
         [1]
     ]
     ms = MS(maze=maze)
     start = Coord(0, 0)
     end = Coord(0, 0)
     path = ms.solvemaze(start, end)
     self.assertTrue(
         confirmmazeseq(ms.maze, path, start, end))
예제 #3
0
 def test_textbookcase_fail(self):
     """Example from textbook. Start and end picked for failure."""
     maze = [
         [0, 1, 1, 1, 1, 1, 0, 0, 1, 1],
         [1, 1, 0, 1, 1, 1, 1, 1, 1, 1],
         [0, 1, 0, 1, 1, 0, 0, 1, 0, 0],
         [1, 1, 1, 0, 0, 0, 1, 1, 0, 1],
         [1, 0, 0, 1, 1, 1, 1, 1, 1, 1],
         [1, 0, 0, 1, 1, 0, 1, 0, 0, 1],
         [1, 1, 1, 1, 0, 1, 1, 1, 1, 1],
         [0, 1, 0, 1, 0, 1, 0, 1, 1, 1],
         [0, 1, 0, 0, 1, 1, 1, 0, 0, 0],
         [1, 1, 1, 1, 1, 1, 1, 0, 0, 1],
     ]
     ms = MS(maze=maze)
     start = Coord(0, 0)
     end = Coord(0, 1)
     path = ms.solvemaze(start, end)
     self.assertEqual(path, -1)
예제 #4
0
 def test_textbookcase_pass(self):
     """Example from textbook. Start and end picked for success."""
     maze = [
         [0, 1, 1, 1, 1, 1, 0, 0, 1, 1],
         [1, 1, 0, 1, 1, 1, 1, 1, 1, 1],
         [0, 1, 0, 1, 1, 0, 0, 1, 0, 0],
         [1, 1, 1, 0, 0, 0, 1, 1, 0, 1],
         [1, 0, 0, 1, 1, 1, 1, 1, 1, 1],
         [1, 0, 0, 1, 1, 0, 1, 0, 0, 1],
         [1, 1, 1, 1, 0, 1, 1, 1, 1, 1],
         [0, 1, 0, 1, 0, 1, 0, 1, 1, 1],
         [0, 1, 0, 0, 1, 1, 1, 0, 0, 0],
         [1, 1, 1, 1, 1, 1, 1, 0, 0, 1],
     ]
     ms = MS(maze=maze)
     start = Coord(9, 0)
     end = Coord(0, 9)
     path = ms.solvemaze(start, end)
     self.assertTrue(
         confirmmazeseq(ms.maze, path, start, end))