36 lines
935 B
Python
36 lines
935 B
Python
|
#!/usr/bin/env python
|
||
|
import pytest
|
||
|
from networkx.utils import powerlaw_sequence,\
|
||
|
zipf_rv, random_weighted_sample,\
|
||
|
weighted_choice
|
||
|
|
||
|
|
||
|
def test_degree_sequences():
|
||
|
seq = powerlaw_sequence(10, seed=1)
|
||
|
seq = powerlaw_sequence(10)
|
||
|
assert len(seq) == 10
|
||
|
|
||
|
|
||
|
def test_zipf_rv():
|
||
|
r = zipf_rv(2.3, xmin=2, seed=1)
|
||
|
r = zipf_rv(2.3, 2, 1)
|
||
|
r = zipf_rv(2.3)
|
||
|
assert type(r), int
|
||
|
pytest.raises(ValueError, zipf_rv, 0.5)
|
||
|
pytest.raises(ValueError, zipf_rv, 2, xmin=0)
|
||
|
|
||
|
|
||
|
def test_random_weighted_sample():
|
||
|
mapping = {'a': 10, 'b': 20}
|
||
|
s = random_weighted_sample(mapping, 2, seed=1)
|
||
|
s = random_weighted_sample(mapping, 2)
|
||
|
assert sorted(s) == sorted(mapping.keys())
|
||
|
pytest.raises(ValueError, random_weighted_sample, mapping, 3)
|
||
|
|
||
|
|
||
|
def test_random_weighted_choice():
|
||
|
mapping = {'a': 10, 'b': 0}
|
||
|
c = weighted_choice(mapping, seed=1)
|
||
|
c = weighted_choice(mapping)
|
||
|
assert c == 'a'
|