def run_test(map_param):
     if not isinstance(expected, str):
         plot_spec = ggplot() + geom_point(map_join=map_join, map=map_param)
         assert get_layer_spec(plot_spec, 'map_join') == expected
     else:
         assert_error(
             expected,
             lambda: ggplot() + geom_point(map_join=map_join, map=map_param)
         )
def test_when_both_data_and_map_are_gdf_should_has_geodataframe_meta_only_for_map(
):
    plot_spec = ggplot() + geom_polygon(data=make_geodataframe(),
                                        map=make_geodataframe())

    assert EXPECTED_GDF_META == get_map_data_meta(plot_spec, 0)
    assert {} == get_data_meta(plot_spec, 0)
Ejemplo n.º 3
0
    def test_plot_should_have_geometries_when_regions_in_map_parameter(self, mock_request):

        mock_request.return_value = make_success_response() \
            .set_geocoded_features(
            [
                FeatureBuilder() \
                    .set_query(USA_REQUEST) \
                    .set_id(USA_ID) \
                    .set_name(USA_NAME) \
                    .set_boundary(GeoPoint(0, 1))
                    .build_geocoded(),
                FeatureBuilder() \
                    .set_query(RUSSIA_REQUEST) \
                    .set_id(RUSSIA_ID) \
                    .set_name(RUSSIA_NAME) \
                    .set_boundary(GeoPoint(0, 1))
                    .build_geocoded()

            ]
        ).build()

        plotSpec = ggplot() + geom_polygon(map=self.make_regions())

        # previous behaviour
        # expected_map_data_meta = {
        #    'georeference': {}
        # }

        expected_map_data_meta = {
            'geodataframe': {'geometry': 'geometry'}
        }

        assert expected_map_data_meta == get_map_data_meta(plotSpec, 0)
Ejemplo n.º 4
0
def test_map_join_regions(map_join, map_columns, expected):
    class MockGeocoder(Geocoder):
        def get_centroids(self) -> 'GeoDataFrame':
            return geo_data_frame([Point(-5, 17)], map_columns)

        def get_geocodes(self) -> pandas.DataFrame:
            return pandas.DataFrame(columns=map_columns)

    geocoder = MockGeocoder()

    if not isinstance(expected, str):
        plot_spec = ggplot() + geom_point(map_join=map_join, map=geocoder)
        assert get_layer_spec(plot_spec, 'map_join') == expected
    else:
        assert_error(
            expected,
            lambda: ggplot() + geom_point(map_join=map_join, map=geocoder))
Ejemplo n.º 5
0
def test_plot_should_has_meta_data_for_geodataframe():
    plotSpec = ggplot() + geom_polygon(data=make_geodataframe())

    expected_data_meta = {
        'geodataframe': {'geometry': 'coord'}
    }

    assert expected_data_meta == get_data_meta(plotSpec, 0)
Ejemplo n.º 6
0
    def test_plot_should_has_meta_map_for_georeference(self):
        plotSpec = ggplot() + geom_polygon(map=self.make_regions())

        expected_map_data_meta = {'georeference': {}}

        assert expected_map_data_meta == get_map_data_meta(plotSpec, 0)
def test_data_should_call_to_dataframe():
    geocoder = mock_geocoder()
    plot_spec = ggplot() + geom_map(data=geocoder)

    geocoder.assert_get_geocodes_invocation()
    assert geocoder.get_test_geocodes() == get_layer_spec(plot_spec, 'data')
def test_geom_livemap_fetches_centroids():
    geocoder = mock_geocoder()
    plot_spec = ggplot() + geom_livemap(map=geocoder)

    assert_map_data_meta(plot_spec)
    assert geocoder.get_test_point_dict() == get_map(plot_spec)
def test_geom_rect_fetches_limits():
    geocoder = mock_geocoder()
    plot_spec = ggplot() + geom_rect(map=geocoder)

    assert_map_data_meta(plot_spec)
    assert geocoder.get_test_polygon_dict() == get_map(plot_spec)
def test_geom_polygon_fetches_boundaries():
    geocoder = mock_geocoder()
    plot_spec = ggplot() + geom_polygon(map=geocoder)

    assert_map_data_meta(plot_spec)
    assert geocoder.get_test_polygon_dict() == get_map(plot_spec)
def test_geom_path_raises_an_error():
    assert_error(
        "Geocoding doesn't provide geometries for geom_path",
        lambda: ggplot() + geom_path(map=mock_geocoder())
    )
def test_plot_should_has_meta_map_for_geodataframe():
    plot_spec = ggplot() + geom_polygon(map=make_geodataframe())

    assert EXPECTED_GDF_META == get_map_data_meta(plot_spec, 0)