import warnings | |
import pytest | |
import networkx as nx | |
def test_smetric(): | |
g = nx.Graph() | |
g.add_edge(1, 2) | |
g.add_edge(2, 3) | |
g.add_edge(2, 4) | |
g.add_edge(1, 4) | |
sm = nx.s_metric(g, normalized=False) | |
assert sm == 19.0 | |
# NOTE: Tests below to be deleted when deprecation of `normalized` kwarg expires | |
def test_normalized_deprecation_warning(): | |
"""Test that a deprecation warning is raised when s_metric is called with | |
a `normalized` kwarg.""" | |
G = nx.cycle_graph(7) | |
# No warning raised when called without kwargs (future behavior) | |
with warnings.catch_warnings(): | |
warnings.simplefilter("error") # Fail the test if warning caught | |
assert nx.s_metric(G) == 28 | |
# Deprecation warning | |
with pytest.deprecated_call(): | |
nx.s_metric(G, normalized=True) | |
# Make sure you get standard Python behavior when unrecognized keyword provided | |
with pytest.raises(TypeError): | |
nx.s_metric(G, normalize=True) | |