28 lines
1006 B
Python
28 lines
1006 B
Python
|
import networkx as nx
|
||
|
import networkx.algorithms.approximation as apxa
|
||
|
|
||
|
|
||
|
def test_ramsey():
|
||
|
# this should only find the complete graph
|
||
|
graph = nx.complete_graph(10)
|
||
|
c, i = apxa.ramsey_R2(graph)
|
||
|
cdens = nx.density(graph.subgraph(c))
|
||
|
assert cdens == 1.0, "clique not found by ramsey!"
|
||
|
idens = nx.density(graph.subgraph(i))
|
||
|
assert idens == 0.0, "i-set not found by ramsey!"
|
||
|
|
||
|
# this trival graph has no cliques. should just find i-sets
|
||
|
graph = nx.trivial_graph(nx.Graph())
|
||
|
c, i = apxa.ramsey_R2(graph)
|
||
|
cdens = nx.density(graph.subgraph(c))
|
||
|
assert cdens == 0.0, "clique not found by ramsey!"
|
||
|
idens = nx.density(graph.subgraph(i))
|
||
|
assert idens == 0.0, "i-set not found by ramsey!"
|
||
|
|
||
|
graph = nx.barbell_graph(10, 5, nx.Graph())
|
||
|
c, i = apxa.ramsey_R2(graph)
|
||
|
cdens = nx.density(graph.subgraph(c))
|
||
|
assert cdens == 1.0, "clique not found by ramsey!"
|
||
|
idens = nx.density(graph.subgraph(i))
|
||
|
assert idens == 0.0, "i-set not found by ramsey!"
|