def METHOD_NAME(config_virtual_collections):
    api = API(config_virtual_collections)
    content = json.loads(api.items({}, None, {})[2])
    assert content['type'] == 'FeatureCollection'
    assert len(content['links']) == 5
    assert content['numberMatched'] == 12
    assert content['numberReturned'] == 10
    assert len(content['features']) == 10
    assert len(content['features']) == content['numberReturned']
    params = {'q': 'Lorem'}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 5
    assert content['numberReturned'] == 5
    assert len(content['features']) == content['numberReturned']
    params = {'q': 'Lorem dolor'}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 1
    assert content['numberReturned'] == 1
    assert len(content['features']) == content['numberReturned']
    params = {'bbox': '-50,0,50,80'}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 3
    assert content['numberReturned'] == 3
    assert len(content['features']) == content['numberReturned']
    params = {'bbox': '-50,0,50,80', 'q': 'Lorem'}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 1
    assert content['numberReturned'] == 1
    assert len(content['features']) == content['numberReturned']
    params = {'filter': "title LIKE '%%Lorem%%'"}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 2
    assert content['numberReturned'] == 2
    assert len(content['features']) == content['numberReturned']
    params = {'filter': "title LIKE '%%Lorem%%'", 'q': 'iPsUm'}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 2
    assert content['numberReturned'] == 2
    assert len(content['features']) == content['numberReturned']
    params = {'limit': 0}
    content = json.loads(api.items({}, None, params)[2])
    assert content['code'] == 'InvalidParameterValue'
    assert content['description'] == 'Limit must be a positive integer'
    params = {'limit': 4}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 12
    assert content['numberReturned'] == 4
    assert len(content['features']) == content['numberReturned']
    params = {'limit': 4, 'offset': 10}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 12
    assert content['numberReturned'] == 2
    assert len(content['features']) == content['numberReturned']
    params = {'sortby': 'title'}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 12
    assert content['numberReturned'] == 10
    assert content['features'][5]['properties']['title'] == 'Lorem ipsum'
    params = {'sortby': '-title'}
    content = json.loads(api.items({}, None, params)[2])
    assert content['numberMatched'] == 12
    assert content['numberReturned'] == 10
    assert content['features'][5]['properties']['title'] == 'Lorem ipsum dolor sit amet'  # noqa
    cql_json = {'op': '=', 'args': [{'property': 'title'}, 'Lorem ipsum']}
    content = json.loads(api.items({}, cql_json, {})[2])
    assert content['numberMatched'] == 1
    assert content['numberReturned'] == 1
    assert len(content['features']) == content['numberReturned']
    cql_json = {'op': '=', 'args': [{'property': 'title'}, 'Lorem ipsum']}
    content = json.loads(api.items({}, cql_json, {'limit': 1})[2])
    assert content['numberMatched'] == 1
    assert content['numberReturned'] == 1
    assert len(content['features']) == content['numberReturned']
    cql_json = {'op': 'like', 'args': [{'property': 'title'}, 'lorem%']}
    content = json.loads(api.items({}, cql_json, {})[2])
    assert content['numberMatched'] == 2
    assert content['numberReturned'] == 2
    assert len(content['features']) == content['numberReturned']