From 51571a83cf18852b06fbf84ef801328e4d2f933d Mon Sep 17 00:00:00 2001 From: Stephen McQuay Date: Thu, 25 Oct 2012 22:32:44 -0700 Subject: [PATCH] added testing, using pipes --- bin/p2.py | 9 +---- maze/__init__.py | 6 +-- maze/test_parsing.py | 91 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+), 12 deletions(-) create mode 100644 maze/test_parsing.py 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