コード例 #1
0
def test_remove() -> None:
    set1 = OrderedSet("abracadabra")

    set1.remove("a")
    set1.remove("b")

    assert set1 == OrderedSet("rcd")
    assert set1[0] == "r"
    assert set1[1] == "c"
    assert set1[2] == "d"

    assert set1.index("r") == 0
    assert set1.index("c") == 1
    assert set1.index("d") == 2

    assert "a" not in set1
    assert "b" not in set1
    assert "r" in set1

    # Make sure we can .discard() something that's already gone, plus something that was never
    # there.
    set1.discard("a")
    set1.discard("a")

    # If we .remove() an element that's not there, we get a KeyError.
    with pytest.raises(KeyError):
        set1.remove("z")
コード例 #2
0
def test_remove() -> None:
    set1 = OrderedSet("abracadabra")

    set1.remove("a")
    set1.remove("b")

    assert set1 == OrderedSet("rcd")
    assert list(set1) == ["r", "c", "d"]

    assert "a" not in set1
    assert "b" not in set1
    assert "r" in set1

    # Make sure we can .discard() something that's already gone, plus something that was never
    # there.
    set1.discard("a")
    set1.discard("a")

    # If we .remove() an element that's not there, we get a KeyError.
    with pytest.raises(KeyError):
        set1.remove("z")