def test_basic(self): """Test find_all_routes returns a list of expected nodes.""" plugin = WeatherSymbols() result = plugin.find_all_routes(self.test_graph, 'start_node', 3) expected_nodes = [['start_node', 'fail_0', 3]] self.assertIsInstance(result, list) self.assertListEqual(result, expected_nodes)
def test_multiple_routes(self): """Test finds multiple routes.""" plugin = WeatherSymbols() result = plugin.find_all_routes(self.test_graph, 'start_node', 1) expected_nodes = [['start_node', 'success_1', 'success_1_1', 1], ['start_node', 'fail_0', 'success_0_1', 1]] self.assertIsInstance(result, list) self.assertListEqual(result, expected_nodes)
def test_omit_nodes_multi(self): """Test find_all_routes where multiple omitted nodes.""" omit_nodes = {"fail_0": 3, "success_1": "success_1_1"} plugin = WeatherSymbols() result = plugin.find_all_routes( self.test_graph, "start_node", 1, omit_nodes=omit_nodes, ) expected_nodes = [["start_node", "success_1_1", 1]] self.assertIsInstance(result, list) self.assertListEqual(result, expected_nodes)
def test_omit_nodes_blocked(self): """Test find_all_routes where omitted node is no longer accessible.""" omit_nodes = {"fail_0": 3} plugin = WeatherSymbols() result = plugin.find_all_routes( self.test_graph, "start_node", 5, omit_nodes=omit_nodes, ) expected_nodes = [] self.assertIsInstance(result, list) self.assertListEqual(result, expected_nodes)
def test_omit_nodes_top_node(self): """Test find_all_routes where omit node is top node.""" omit_nodes = {"start_node": "success_1"} plugin = WeatherSymbols() result = plugin.find_all_routes( self.test_graph, "start_node", 1, omit_nodes=omit_nodes, ) expected_nodes = [["success_1", "success_1_1", 1]] self.assertIsInstance(result, list) self.assertListEqual(result, expected_nodes)
def test_omit_nodes_midtree(self): """Test find_all_routes where omit node is mid tree.""" omit_nodes = {'success_1': 'success_1_1'} plugin = WeatherSymbols() result = plugin.find_all_routes( self.test_graph, 'start_node', 1, omit_nodes=omit_nodes, ) expected_nodes = [['start_node', 'success_1_1', 1], ['start_node', 'fail_0', 'success_0_1', 1]] self.assertIsInstance(result, list) self.assertListEqual(result, expected_nodes)