From 02a4dfbb2f1cb37cda86789b94b38facc981fe48 Mon Sep 17 00:00:00 2001 From: DannyAbdi <dannyabdi13@gmail.com> Date: Fri, 22 Mar 2024 03:32:14 +0000 Subject: [PATCH] Created test class for dfs class --- testDFS.py | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 testDFS.py diff --git a/testDFS.py b/testDFS.py new file mode 100644 index 0000000..84730cf --- /dev/null +++ b/testDFS.py @@ -0,0 +1,80 @@ +import unittest +from dfs import DFS + + +class TestDFS(unittest.TestCase): + def test_init(self): + dfs = DFS() + self.assertEqual(dfs.visited, set()) + self.assertEqual(dfs.path, []) + + def test_get_neighbours(self): + maze = [ + [0, 0, 0, 1], + [1, 1, 0, 0], + [0, 1, 0, 1], + [0, 0, 0, 0] + ] + dfs = DFS() + + self.assertEqual(dfs.get_neighbours(maze, 0, 0), [(0, 1), (1, 0)]) + self.assertEqual(dfs.get_neighbours(maze, 1, 1), [(1, 2), (2, 1)]) + self.assertEqual(dfs.get_neighbours(maze, 2, 2), [(2, 1), (3, 2)]) + + def test_dfs(self): + maze = [ + [0, 0, 0, 1], + [1, 1, 0, 0], + [0, 1, 0, 1], + [0, 0, 0, 0] + ] + dfs = DFS() + + start = (0, 0) + goal = (3, 3) + self.assertTrue(dfs.dfs(maze, start, goal)) + + start = (0, 0) + goal = (2, 2) + self.assertFalse(dfs.dfs(maze, start, goal)) + + def test__dfs(self): + maze = [ + [0, 0, 0, 1], + [1, 1, 0, 0], + [0, 1, 0, 1], + [0, 0, 0, 0] + ] + dfs = DFS() + + start = (0, 0) + goal = (3, 3) + self.assertTrue(dfs._dfs(maze, start, goal)) + + start = (0, 0) + goal = (2, 2) + self.assertFalse(dfs._dfs(maze, start, goal)) + + def test_get_path(self): + maze = [ + [0, 0, 0, 1], + [1, 1, 0, 0], + [0, 1, 0, 1], + [0, 0, 0, 0] + ] + dfs = DFS() + + start = (0, 0) + goal = (3, 3) + dfs._dfs(maze, start, goal) + expected_path = [(0, 0), (0, 1), (1, 1), (2, 1), (3, 1), (3, 2), (3, 3)] + self.assertEqual(dfs.get_path(), expected_path) + + start = (0, 0) + goal = (2, 2) + dfs._dfs(maze, start, goal) + self.assertEqual(dfs.get_path(), []) + + +if __name__ == "__main__": + unittest.main() -- GitLab