45 lines
1.1 KiB
Python
Raw Permalink Normal View History

from datahub.utilities.ordered_set import OrderedSet
def test_ordered_set():
# Test initialization
ordered_set: OrderedSet[int] = OrderedSet()
assert len(ordered_set) == 0
# Test adding items
ordered_set.add(1)
ordered_set.add(2)
ordered_set.add(3)
assert len(ordered_set) == 3
# Test adding duplicate item
ordered_set.add(1)
assert len(ordered_set) == 3
# Test discarding item
ordered_set.discard(2)
assert len(ordered_set) == 2
assert 2 not in ordered_set
# Test updating with iterable
ordered_set.update([4, 5, 6])
assert len(ordered_set) == 5
assert 4 in ordered_set
assert 5 in ordered_set
assert 6 in ordered_set
# Test containment check
assert 3 in ordered_set
assert 7 not in ordered_set
# Test iteration
items = list(ordered_set)
assert items == [1, 3, 4, 5, 6]
# Test reverse iteration
items = list(reversed(ordered_set))
assert items == [6, 5, 4, 3, 1]
# Test string representation
assert repr(ordered_set) == "OrderedSet([1, 3, 4, 5, 6])"