def test_great_grandchild(model, expected):
    result = discovery_lookup_from_model(A, model)
    assert result == expected
def test_self():
    with pytest.raises(InvalidModel):
        discovery_lookup_from_model(A, A)