Ejemplo n.º 1
0
def test_id_dict_generate_id():
    d = IdDict()
    d.add("a")
    assert len(d) == 1
    assert "a" in d.values()

    d.add("a")
    assert len(d) == 2
Ejemplo n.º 2
0
def test_id_dict_is_cautious_about_ids():
    tmp = {1: 2, 2: 3}
    d = IdDict(tmp)
    assert len(d) == 2
    d.add("a")
    assert len(d) == 3
    d.add("a")
    assert len(d) == 4
Ejemplo n.º 3
0
def test_id_dict_refuse_to_reuse_ids():
    d = IdDict()
    d[0] = "a"
    d.add("b")
    assert len(d) == 2
    assert_raises(KeyError, lambda: d.add("c", 0))
Ejemplo n.º 4
0
def test_id_dict_raise_error_if_key_is_not_int():
    d = IdDict()
    assert_raises(KeyError, lambda: d.__setitem__("a", None))
    assert_raises(KeyError, lambda: d.setdefault("a", None))
    assert_raises(KeyError, lambda: d.add("a", "key"))