예제 #1
0
def test_lookup_item(members, search, expected):
    expected_first = expected[0] if expected else None
    lookup = fixed(*members)

    item = lookup.lookup_item(search)
    check_item(expected_first, item)
    assert item == lookup.lookup_item(search)
예제 #2
0
def test_listeners(members, search, expected):
    lookup = fixed(*members)

    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()
예제 #3
0
def test_lookup_result(members, search, expected):
    expected = tuple(expected)
    expected_classes = {type(instance) for instance in expected}
    lookup = fixed(*members)

    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) == len(expected_classes)
    assert all_classes == expected_classes

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

    all_items = result.all_items()
    assert isinstance(all_items, Sequence)
    assert not isinstance(all_items, MutableSequence)
    assert len(all_items) == len(expected)
    for item, instance, again in zip(all_items, expected, result.all_items()):
        check_item(instance, item)
        assert item == again
예제 #4
0
def test_lookup(members, search, expected):
    expected_first = expected[0] if expected else None
    lookup = fixed(*members)

    assert lookup.lookup(search) == expected_first
예제 #5
0
def test_instantiation():
    assert fixed()
예제 #6
0
def test_lookup_all(members, search, expected):
    expected = tuple(expected)
    lookup = fixed(*members)

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