about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/networkx/generators/tests/test_time_series.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/networkx/generators/tests/test_time_series.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/networkx/generators/tests/test_time_series.py')
-rw-r--r--.venv/lib/python3.12/site-packages/networkx/generators/tests/test_time_series.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/networkx/generators/tests/test_time_series.py b/.venv/lib/python3.12/site-packages/networkx/generators/tests/test_time_series.py
new file mode 100644
index 00000000..5d0cc90a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/networkx/generators/tests/test_time_series.py
@@ -0,0 +1,64 @@
+"""Unit tests for the :mod:`networkx.generators.time_series` module."""
+
+import itertools
+
+import networkx as nx
+
+
+def test_visibility_graph__empty_series__empty_graph():
+    null_graph = nx.visibility_graph([])  # move along nothing to see here
+    assert nx.is_empty(null_graph)
+
+
+def test_visibility_graph__single_value_ts__single_node_graph():
+    node_graph = nx.visibility_graph([10])  # So Lonely
+    assert node_graph.number_of_nodes() == 1
+    assert node_graph.number_of_edges() == 0
+
+
+def test_visibility_graph__two_values_ts__single_edge_graph():
+    edge_graph = nx.visibility_graph([10, 20])  # Two of Us
+    assert list(edge_graph.edges) == [(0, 1)]
+
+
+def test_visibility_graph__convex_series__complete_graph():
+    series = [i**2 for i in range(10)]  # no obstructions
+    expected_series_length = len(series)
+
+    actual_graph = nx.visibility_graph(series)
+
+    assert actual_graph.number_of_nodes() == expected_series_length
+    assert actual_graph.number_of_edges() == 45
+    assert nx.is_isomorphic(actual_graph, nx.complete_graph(expected_series_length))
+
+
+def test_visibility_graph__concave_series__path_graph():
+    series = [-(i**2) for i in range(10)]  # Slip Slidin' Away
+    expected_node_count = len(series)
+
+    actual_graph = nx.visibility_graph(series)
+
+    assert actual_graph.number_of_nodes() == expected_node_count
+    assert actual_graph.number_of_edges() == expected_node_count - 1
+    assert nx.is_isomorphic(actual_graph, nx.path_graph(expected_node_count))
+
+
+def test_visibility_graph__flat_series__path_graph():
+    series = [0] * 10  # living in 1D flatland
+    expected_node_count = len(series)
+
+    actual_graph = nx.visibility_graph(series)
+
+    assert actual_graph.number_of_nodes() == expected_node_count
+    assert actual_graph.number_of_edges() == expected_node_count - 1
+    assert nx.is_isomorphic(actual_graph, nx.path_graph(expected_node_count))
+
+
+def test_visibility_graph_cyclic_series():
+    series = list(itertools.islice(itertools.cycle((2, 1, 3)), 17))  # It's so bumpy!
+    expected_node_count = len(series)
+
+    actual_graph = nx.visibility_graph(series)
+
+    assert actual_graph.number_of_nodes() == expected_node_count
+    assert actual_graph.number_of_edges() == 25