def test_directed_path_graph(self): """Test a directed path graph with 10 nodes.""" graph = nx.path_graph(10).to_directed() assert diameter(graph) == 9
def test_single_node(self): """Test a graph which contains just a node.""" graph = nx.Graph() graph.add_node(1) assert diameter(graph) == 0
def test_complete_directed_graph(self): """Test a complete directed graph.""" graph = nx.complete_graph(10, create_using=nx.DiGraph()) assert diameter(graph) == 1
def test_complete_undirected_graph(self): """Test a complete undirected graph.""" graph = nx.complete_graph(10) assert diameter(graph) == 1
def test_directed_non_strongly_connected(self): """Test a directed non strongly connected graph.""" graph = nx.path_graph(10, create_using=nx.DiGraph()) with pytest.raises(nx.NetworkXError, match="DiGraph not strongly connected."): diameter(graph)
def test_undirected_non_connected(self): """Test an undirected disconnected graph.""" graph = nx.path_graph(10) graph.remove_edge(3, 4) with pytest.raises(nx.NetworkXError, match="Graph not connected."): diameter(graph)
def test_null_graph(self): """Test empty graph.""" G = nx.null_graph() with pytest.raises(nx.NetworkXError, match="Expected non-empty NetworkX graph!"): diameter(G)