예제 #1
0
def test_listeners(member, id_, search):
    lookup = singleton(member, id_)

    result = lookup.lookup_result(search)

    def call_me_back(result):
        pass

    result.add_lookup_listener(call_me_back)
    result.remove_lookup_listener(call_me_back)

    result.add_lookup_listener(call_me_back)
    del call_me_back
    gc.collect()
예제 #2
0
def test_lookup_result(member, id_, search):
    lookup = singleton(member, id_)

    result = lookup.lookup_result(search)
    assert result

    all_classes = result.all_classes()
    assert isinstance(all_classes, Set)
    assert not isinstance(all_classes, MutableSet)
    assert len(all_classes) == 1
    assert next(iter(all_classes)) is type(member)

    all_instances = result.all_instances()
    check_all_instances(member, all_instances)

    all_items = result.all_items()
    assert isinstance(all_items, Sequence)
    assert not isinstance(all_items, MutableSequence)
    assert len(all_items) == 1
    check_item(member, id_, all_items[0])
    assert all_items[0] == lookup.lookup_item(search)
예제 #3
0
def test_lookup_item(member, id_, search):
    lookup = singleton(member, id_)

    item = lookup.lookup_item(search)
    check_item(member, id_, item)
    assert item == lookup.lookup_item(search)
예제 #4
0
def test_lookup(member, id_, search):
    lookup = singleton(member, id_)
    assert lookup.lookup(search) is member
예제 #5
0
def test_instantiation():
    assert singleton(object(), None)
예제 #6
0
def test_lookup_all(member, id_, search):
    lookup = singleton(member, id_)

    all_instances = lookup.lookup_all(search)
    check_all_instances(member, all_instances)