Changeup tests to reflect drop=False default

This commit is contained in:
Jeff Tratner
2013-11-05 22:28:03 -05:00
parent b014e4f0ff
commit 6eb617b9dd
2 changed files with 11 additions and 21 deletions
+1 -7
View File
@@ -1,7 +1,6 @@
from collections import OrderedDict
import json
import os
import warnings
import fiona
import numpy as np
@@ -37,12 +36,6 @@ class GeoDataFrame(DataFrame):
self.crs = crs
if geometry is not None:
self.set_geometry(geometry, inplace=True)
else:
if not 'geometry' in self:
warnings.warn("No geometry set in constructor. Geometric funcs"
" may not work. You can set geometry via the"
" geometry property or with the geometry"
" keyword argument")
def __setattr__(self, attr, val):
# have to special case geometry b/c pandas tries to use as column...
@@ -291,6 +284,7 @@ class GeoDataFrame(DataFrame):
elif isinstance(result, DataFrame) and geo_col in result:
result.__class__ = GeoDataFrame
result.crs = self.crs
result._geometry_column_name = geo_col
elif isinstance(result, DataFrame) and geo_col not in result:
result.__class__ = DataFrame
result.crs = self.crs
+10 -14
View File
@@ -36,10 +36,11 @@ class TestDataFrame(unittest.TestCase):
self.assertTrue(self.df2.crs == self.crs)
def test_different_geo_colname(self):
data = {"A": range(5), "B": range(-5, 1),
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')
tu.assert_geoseries_equal(df.geometry, data['location'])
locs = GeoSeries(data['location'])
tu.assert_geoseries_equal(df.geometry, locs)
self.assert_('geometry' not in df)
self.assertEqual(df.geometry.name, 'location')
# internal implementation detail
@@ -49,7 +50,7 @@ class TestDataFrame(unittest.TestCase):
df2 = df.set_geometry(geom2)
self.assert_('geometry' in df)
self.assert_('location' in df)
tu.assert_geoseries_equal(df2.geometry, geom2)
tu.assert_geoseries_equal(df2.geometry, GeoSeries(geom2))
tu.assert_geoseries_equal(df2['location'], df['location'])
def test_geometry_property(self):
@@ -122,19 +123,14 @@ class TestDataFrame(unittest.TestCase):
self.df['simplified_geometry'] = g_simplified
df2 = self.df.set_geometry('simplified_geometry')
# Drop is true by default
self.assert_('simplified_geometry' not in df2)
tu.assert_geoseries_equal(df2.geometry, g_simplified)
def test_set_geometry_col_no_drop(self):
g = self.df.geometry
g_simplified = g.simplify(100)
self.df['simplified_geometry'] = g_simplified
df2 = self.df.set_geometry('simplified_geometry')
# Drop is false by default
self.assert_('simplified_geometry' in df2)
tu.assert_geoseries_equal(df2.geometry, g_simplified)
self.assert_(df2.geometry.name == 'simplified_geometry')
# If True, drops column and renames to geometry
df3 = self.df.set_geometry('simplified_geometry', drop=True)
self.assert_('simplified_geometry' not in df3)
tu.assert_geoseries_equal(df3.geometry, g_simplified)
def test_set_geometry_inplace(self):
geom = [Point(x,y) for x,y in zip(range(5), range(5))]