From 79d972727344aad46a5a9e29522026677ce8c1a0 Mon Sep 17 00:00:00 2001 From: Dan Anglin Date: Wed, 14 Feb 2024 02:50:57 +0000 Subject: [PATCH] add tests to test Cell exceptions --- cell.py | 2 +- tests.py | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/cell.py b/cell.py index a5d4c87..21bae0b 100644 --- a/cell.py +++ b/cell.py @@ -29,7 +29,7 @@ class Cell: TOP_WALL = 0 BOTTOM_WALL = 1 LEFT_WALL = 2 - RIGHT_WALL = 4 + RIGHT_WALL = 3 def __init__( self, diff --git a/tests.py b/tests.py index c023349..1d36a9d 100644 --- a/tests.py +++ b/tests.py @@ -1,6 +1,7 @@ import unittest -from maze import Maze +import cell from cell import Cell +from maze import Maze class Tests(unittest.TestCase): @@ -57,7 +58,48 @@ class Tests(unittest.TestCase): 2, ) self.assertFalse(maze._cells[0][0].wall_exists(Cell.TOP_WALL)) - self.assertFalse(maze._cells[number_of_cell_rows - 1][number_of_cells_per_row - 1].wall_exists(Cell.BOTTOM_WALL)) + self.assertFalse( + maze._cells[number_of_cell_rows - 1] + [number_of_cells_per_row - 1].wall_exists(Cell.BOTTOM_WALL) + ) + + def test_invalid_cell_exception(self): + """ + test_invalid_cell_exception tests the exception for when an attempt + is made to create an invalid Cell. + """ + cases = [ + {"x1": 30, "y1": 50, "x2": 20, "y2": 100}, + {"x1": 30, "y1": 50, "x2": 40, "y2": 25}, + ] + + for case in cases: + with self.assertRaises(cell.CellInvalidError): + _ = Cell( + x1=case["x1"], + y1=case["y1"], + x2=case["x2"], + y2=case["y2"] + ) + + def test_cell_too_small_exception(self): + """ + test_cell_too_small_exception tests the excpetion for when an attempt + is made to create a Cell that's too small. + """ + cases = [ + {"x1": 1, "y1": 50, "x2": 2, "y2": 100}, + {"x1": 30, "y1": 25, "x2": 40, "y2": 25}, + ] + + for case in cases: + with self.assertRaises(cell.CellTooSmallError): + _ = Cell( + x1=case["x1"], + y1=case["y1"], + x2=case["x2"], + y2=case["y2"] + ) if __name__ == "__main__":