Fixed #13256 -- `OGRGeometry` no longer raises an exception when compared to instances of different types. Thanks, ninowalker for the bug report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12905 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Justin Bronn 2010-04-01 16:56:55 +00:00
parent f7cf58ac0e
commit 7d5c7df6a9
2 changed files with 10 additions and 2 deletions

View File

@ -180,11 +180,14 @@ class OGRGeometry(GDALBase):
def __eq__(self, other): def __eq__(self, other):
"Is this Geometry equal to the other?" "Is this Geometry equal to the other?"
return self.equals(other) if isinstance(other, OGRGeometry):
return self.equals(other)
else:
return False
def __ne__(self, other): def __ne__(self, other):
"Tests for inequality." "Tests for inequality."
return not self.equals(other) return not (self == other)
def __str__(self): def __str__(self):
"WKT is used for the string representation." "WKT is used for the string representation."

View File

@ -481,6 +481,11 @@ class OGRGeomTest(unittest.TestCase):
self.assertEqual(3, geom[0].coord_dim) self.assertEqual(3, geom[0].coord_dim)
self.assertEqual(wkt_3d, geom.wkt) self.assertEqual(wkt_3d, geom.wkt)
def test19_equivalence_regression(self):
"Testing equivalence methods with non-OGRGeometry instances."
self.assertNotEqual(None, OGRGeometry('POINT(0 0)'))
self.assertEqual(False, OGRGeometry('LINESTRING(0 0, 1 1)') == 3)
def suite(): def suite():
s = unittest.TestSuite() s = unittest.TestSuite()
s.addTest(unittest.makeSuite(OGRGeomTest)) s.addTest(unittest.makeSuite(OGRGeomTest))