-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtests.py
More file actions
36 lines (30 loc) · 1.2 KB
/
tests.py
File metadata and controls
36 lines (30 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import unittest
from maze import Maze
from window import Window
from tkinter import Tk
class TestMaze(unittest.TestCase):
def setUp(self):
self.win = Window(Tk(), 800, 600)
self.maze = Maze(0, 0, 10, 10, 20, 20, self.win, seed=42)
def test_maze_initialization(self):
self.assertEqual(len(self.maze.cells), 100)
self.assertEqual(self.maze.cells[0].has_top_wall, False)
self.assertEqual(self.maze.cells[-1].has_bottom_wall, False)
def test_maze_cells(self):
for cell in self.maze.cells:
self.assertTrue(cell.has_left_wall)
self.assertTrue(cell.has_top_wall)
self.assertTrue(cell.has_right_wall)
self.assertTrue(cell.has_bottom_wall)
def test_break_walls_r(self):
self.maze._reset_cells_visited()
self.maze._break_walls_r(0, 0)
visited_cells = [cell for cell in self.maze.cells if cell.visited]
self.assertEqual(len(visited_cells), 100)
def test_reset_cells_visited(self):
self.maze._break_walls_r(0, 0)
self.maze._reset_cells_visited()
for cell in self.maze.cells:
self.assertFalse(cell.visited)
if __name__ == '__main__':
unittest.main()