From f33d8859a70962010aa17fd3a440b85b0eb04ca0 Mon Sep 17 00:00:00 2001 From: Jeff Tratner Date: Thu, 14 Nov 2013 06:52:32 -0500 Subject: [PATCH] TST: Add a few test cases for changing geometries --- tests/test_geodataframe.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/test_geodataframe.py b/tests/test_geodataframe.py index fb833bb..320431b 100644 --- a/tests/test_geodataframe.py +++ b/tests/test_geodataframe.py @@ -59,6 +59,25 @@ class TestDataFrame(unittest.TestCase): assert_geoseries_equal(df2['location'], df['location'], check_series_type=False, check_dtype=False) + def test_geo_getitem(self): + data = {"A": range(5), "B": range(-5, 0), + "location": [Point(x, y) for x, y in zip(range(5), range(5))]} + df = GeoDataFrame(data, crs=self.crs, geometry='location') + self.assert_(isinstance(df.geometry, GeoSeries)) + df['geometry'] = df["A"] + self.assert_(isinstance(df.geometry, GeoSeries)) + self.assertEqual(df.geometry[0], data['location'][0]) + # good if this changed in the future + self.assert_(not isinstance(df['geometry'], GeoSeries)) + self.assert_(isinstance(df['location'], GeoSeries)) + + data["geometry"] = [Point(x + 1, y - 1) for x, y in zip(range(5), range(5))] + df = GeoDataFrame(data, crs=self.crs) + self.assert_(isinstance(df.geometry, GeoSeries)) + self.assert_(isinstance(df['geometry'], GeoSeries)) + # good if this changed in the future + self.assert_(not isinstance(df['location'], GeoSeries)) + def test_geometry_property(self): assert_geoseries_equal(self.df.geometry, self.df['geometry'], check_dtype=True, check_index_type=True)