aboutsummaryrefslogtreecommitdiff
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 hereHEADmaster
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