コード例 #1
0
def test_valid_success_response():
    foo = FeatureBuilder() \
        .set_query('foo') \
        .set_id('bar') \
        .set_name('baz') \
        .set_boundary(Polygon([Ring([GeoPoint(1, 2), GeoPoint(3, 4), GeoPoint(5, 6), GeoPoint(7, 8)])])) \
        .set_centroid(GeoPoint(9, 10)) \
        .set_limit(GeoRect(11, 12, 13, 14)) \
        .set_position(GeoRect(15, 16, 17, 18)) \
        .build_geocoded()

    foofoo = FeatureBuilder() \
        .set_query('foofoo') \
        .set_id('barbar') \
        .set_name('bazbaz') \
        .build_geocoded()

    response_dict = ResponseFormatter.format(
        ResponseBuilder() \
            .set_status(Status.success) \
            .set_message('OK') \
            .set_level(LevelKind.city) \
            .set_geocoded_features([foo, foofoo])
            .build()
    )

    response = ResponseParser.parse(response_dict)

    assert isinstance(response, SuccessResponse)
    assert 'OK' == response.message
    assert 2 == len(response.answers)
    assert_geocoded(foo, response.answers[0].features[0])
    assert_geocoded(foofoo, response.answers[1].features[0])
コード例 #2
0
def test_ambiguous_response():
    foo = FeatureBuilder() \
        .set_query('foo') \
        .set_total_namesake_count(150) \
        .set_namesake_examples(FluentList() \
                               .add(Namesake('foo-namesake', FluentList() \
                                             .add(NamesakeParent('foo-ns-parent', LevelKind.city))
                                             .list()))
                               .add(Namesake('foo-namenamesake', FluentList() \
                                             .add(NamesakeParent('foo-nns-parent', LevelKind.state))
                                             .add(NamesakeParent('foo--nns-parent', LevelKind.county))
                                             .list()))
                               .list()) \
        .build_ambiguous()

    foofoo = FeatureBuilder() \
        .set_query("foofoo") \
        .set_total_namesake_count(13) \
        .set_namesake_examples([]) \
        .build_ambiguous()

    response_dict = ResponseFormatter.format(
        ResponseBuilder() \
            .set_status(Status.ambiguous) \
            .set_message('amb') \
            .set_level(LevelKind.city) \
            .set_ambiguous_features([foo, foofoo])
            .build()
    )

    response = ResponseParser.parse(response_dict)

    assert isinstance(response, AmbiguousResponse)
    assert 'amb' == response.message
    assert 2 == len(response.features)
    assert_ambiguous(foo, response.features[0])
    assert_ambiguous(foofoo, response.features[1])
コード例 #3
0
ファイル: geo_data.py プロジェクト: paddlelaw/lets-plot
def make_error_response() -> ResponseBuilder:
    return ResponseBuilder() \
        .set_status(Status.error) \
        .set_message(MESSAGE)
コード例 #4
0
ファイル: geo_data.py プロジェクト: paddlelaw/lets-plot
def make_ambiguous_response() -> ResponseBuilder:
    return ResponseBuilder() \
        .set_status(Status.ambiguous) \
        .set_message(MESSAGE) \
        .set_level(LEVEL)
コード例 #5
0
ファイル: geo_data.py プロジェクト: paddlelaw/lets-plot
def make_success_response() -> ResponseBuilder:
    return ResponseBuilder() \
        .set_status(Status.success) \
        .set_message(MESSAGE) \
        .set_level(LEVEL)