def test_bfs(self): self.graph = { 'A': {'B', 'C'}, 'B': {'A', 'D', 'E'}, 'C': {'A', 'F'}, 'D': {'B'}, 'E': {'B', 'F'}, 'F': {'C', 'E'} } rv1 = breadth_first_search.bfs(self.graph, 'A') self.assertEqual(rv1, {'C', 'A', 'B', 'D', 'F', 'E'}) self.graph = { 'A': {'B', 'C', 'E'}, 'B': {'A', 'D', 'F'}, 'C': {'A', 'G'}, 'D': {'B'}, 'F': {'B'}, 'E': {'A'}, 'G': {'C'} } rv1 = breadth_first_search.bfs(self.graph, "A") rv2 = breadth_first_search.bfs(self.graph, "G") rv1e = breadth_first_search.bfs(self.graph, "Z") self.assertEqual(rv1, {'A', 'B', 'D', 'F', 'C', 'G', 'E'}) self.assertEqual(rv2, {'G', 'C', 'A', 'B', 'D', 'F', 'E'}) self.assertEqual(rv1e, None)
def test_bfs(self): self.graph = { 'A': set(['B', 'C']), 'B': set(['A', 'D', 'E']), 'C': set(['A', 'F']), 'D': set(['B']), 'E': set(['B', 'F']), 'F': set(['C', 'E']) } rv1 = breadth_first_search.bfs(self.graph, 'A') self.assertEqual(rv1, {'C', 'A', 'B', 'D', 'F', 'E'}) self.graph = { 'A': set(['B', 'C', 'E']), 'B': set(['A', 'D', 'F']), 'C': set(['A', 'G']), 'D': set(['B']), 'F': set(['B']), 'E': set(['A']), 'G': set(['C']) } rv1 = breadth_first_search.bfs(self.graph, "A") rv2 = breadth_first_search.bfs(self.graph, "G") rv1e = breadth_first_search.bfs(self.graph, "Z") self.assertEqual(rv1, set(['A', 'B', 'D', 'F', 'C', 'G', 'E'])) self.assertEqual(rv2, set(['G', 'C', 'A', 'B', 'D', 'F', 'E'])) self.assertEqual(rv1e, None)
def src_operations(f_code, v1, v2): if f_code == 1: res = binary_search.search(v1, v2) return res elif f_code == 2: try: res = bmh_search.search(v1, v2) return res except IndexError: res = "Your key either occurs throughout the string, or more than 1 time." return res elif f_code == 3: try: res = depth_first_search.dfs(v1, v2) return res except TypeError: res = "Enter all edges for all nodes for the DFS algorithm to work correctly." return res elif f_code == 4: res = kmp_search.search(v1, v2) return res elif f_code == 5: res = rabinkarp_search.search(v1, v2) return res elif f_code == 6: try: res = breadth_first_search.bfs(v1, v2) return res except TypeError: res = "Enter all edges for all nodes for the BFS algorithm to work correctly." return res