diff --git a/bin/p2.py b/bin/p2.py index ff91caa..ab19fe7 100644 --- a/bin/p2.py +++ b/bin/p2.py @@ -2,12 +2,5 @@ import sys from maze import parse_maze, CS235Maze -m = parse_maze(sys.argv[1]) -assert m[7][0][0] == 0 -assert m[7][3][0] == 1 -assert m[7][0][1] == 0 -assert m[3][3][3] == 1 -assert m[5][2][6] == 1 -assert m[7][5][4] == 0 - +m = parse_maze(sys.stdin.read()) print CS235Maze(m) diff --git a/maze/__init__.py b/maze/__init__.py index c59a777..cba66d8 100644 --- a/maze/__init__.py +++ b/maze/__init__.py @@ -30,12 +30,10 @@ def make_maze(size=8): return CS235Maze(r, size) -def parse_maze(filename): - f = open(filename, 'r') - t = f.read() +def parse_maze(maze): soilded = [[[int(i) for i in j.split()] for j in k.split('\n')] - for k in t.split('\n\n') if k] + for k in maze.split('\n\n') if k] cleaned = derp_transpose(soilded) return cleaned diff --git a/maze/test_parsing.py b/maze/test_parsing.py new file mode 100644 index 0000000..a1dd286 --- /dev/null +++ b/maze/test_parsing.py @@ -0,0 +1,91 @@ +import unittest + +from maze import parse_maze + + +class MazeTests(unittest.TestCase): + def setUp(self): + s = """\ +1 0 0 0 1 0 0 0 +0 1 1 1 1 1 0 0 +0 1 0 1 1 0 0 0 +0 1 1 1 0 0 1 1 +1 1 0 0 0 1 0 0 +1 1 1 0 0 1 1 0 +1 0 1 0 0 1 0 1 +0 0 1 0 1 0 1 0 + +1 0 0 0 0 1 0 0 +1 1 0 0 0 1 0 1 +1 0 1 0 1 1 1 1 +0 0 0 0 1 0 0 1 +0 0 0 0 1 0 1 1 +0 0 0 1 0 0 1 0 +1 0 1 0 1 0 0 0 +0 1 0 1 1 0 0 1 + +1 1 1 0 0 0 0 1 +1 0 0 1 1 1 0 1 +1 0 0 1 1 0 1 0 +0 1 0 1 0 1 1 1 +1 0 1 1 1 1 0 0 +0 1 0 1 1 0 0 0 +1 1 0 1 0 0 0 1 +1 1 1 0 0 0 1 0 + +1 1 0 0 1 0 1 1 +1 1 1 1 1 0 0 1 +1 1 0 0 1 0 1 1 +0 1 1 1 1 1 0 1 +0 1 1 0 0 0 1 0 +0 1 0 1 0 0 0 0 +1 1 0 1 0 1 1 0 +0 0 0 0 1 1 1 0 + +1 0 0 0 1 1 1 0 +0 1 0 1 0 1 0 1 +1 0 0 1 0 0 0 0 +1 1 1 0 0 1 0 0 +0 1 1 0 0 0 1 0 +0 1 0 1 0 1 0 0 +1 0 0 1 1 1 0 1 +1 1 1 1 0 0 0 1 + +1 0 1 1 1 0 0 0 +0 0 0 1 0 0 1 0 +0 1 1 0 0 0 0 1 +0 0 0 1 0 0 0 1 +1 0 1 1 0 1 1 0 +1 0 1 0 1 1 0 1 +0 0 0 0 0 0 1 1 +1 1 0 0 1 0 0 0 + +0 0 0 0 0 0 1 1 +1 0 0 1 1 1 0 1 +0 1 0 1 1 1 1 1 +0 1 1 0 0 1 1 0 +1 1 1 0 1 1 1 1 +1 0 1 1 0 1 0 0 +0 0 0 1 0 0 1 0 +1 1 1 0 1 1 1 0 + +1 1 1 1 0 0 1 0 +0 0 1 0 0 1 0 1 +0 1 1 1 0 1 0 0 +1 1 1 0 1 0 0 1 +0 0 1 0 1 0 0 0 +1 1 1 1 0 1 0 1 +1 0 1 1 1 1 1 0 +1 0 0 0 1 1 1 1 + +""" + self.m = parse_maze(s) + + + def test_at_indices(self): + assert self.m[7][0][0] == 0 + assert self.m[7][3][0] == 1 + assert self.m[7][0][1] == 0 + assert self.m[3][3][3] == 1 + assert self.m[5][2][6] == 1 + assert self.m[7][5][4] == 0