1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
"Test sortedcollections.OrderedSet."
import random
import pytest
from sortedcollections import OrderedSet
def test_init():
os = OrderedSet()
assert len(os) == 0
def test_contains():
os = OrderedSet(range(100))
assert len(os) == 100
for value in range(100):
assert value in os
assert os.count(value) == 1
assert -1 not in os
assert 100 not in os
def test_iter():
os = OrderedSet(range(100))
assert list(os) == list(range(100))
names = ['eve', 'carol', 'alice', 'dave', 'bob']
os = OrderedSet(names)
assert list(os) == names
def test_reversed():
os = OrderedSet(range(100))
assert list(reversed(os)) == list(reversed(range(100)))
names = ['eve', 'carol', 'alice', 'dave', 'bob']
os = OrderedSet(names)
assert list(reversed(os)) == list(reversed(names))
def test_getitem():
values = list(range(100))
random.shuffle(values)
os = OrderedSet(values)
assert len(os) == len(values)
for index in range(len(os)):
assert os[index] == values[index]
def test_index():
values = list(range(100))
random.shuffle(values)
os = OrderedSet(values)
assert len(os) == len(values)
for value in values:
assert values.index(value) == os.index(value)
def test_index_error():
os = OrderedSet(range(10))
with pytest.raises(ValueError):
os.index(10)
def test_add():
os = OrderedSet()
for value in range(100):
os.add(value)
assert len(os) == 100
os.add(0)
assert len(os) == 100
for value in range(100):
assert value in os
def test_discard():
os = OrderedSet(range(100))
for value in range(200):
os.discard(value)
assert len(os) == 0
def test_repr():
os = OrderedSet()
assert repr(os) == 'OrderedSet([])'
|