From 5d348bba3178f57bf018aee08d243a92933c5ce0 Mon Sep 17 00:00:00 2001 From: Sergey Fedoseev Date: Fri, 18 Dec 2015 15:26:22 +0500 Subject: Fixed #25950 -- Added support for GEOSisClosed. --- tests/gis_tests/geos_tests/test_geos.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'tests') diff --git a/tests/gis_tests/geos_tests/test_geos.py b/tests/gis_tests/geos_tests/test_geos.py index fd08e3037a..116e8d35f8 100644 --- a/tests/gis_tests/geos_tests/test_geos.py +++ b/tests/gis_tests/geos_tests/test_geos.py @@ -15,6 +15,7 @@ from django.contrib.gis.geos import ( fromfile, fromstr, ) from django.contrib.gis.geos.base import GEOSBase +from django.contrib.gis.geos.libgeos import geos_version_info from django.contrib.gis.shortcuts import numpy from django.template import Context from django.template.engine import Engine @@ -660,6 +661,20 @@ class GEOSTest(SimpleTestCase, TestDataMixin): self.assertTrue(poly.covers(Point(5, 5))) self.assertFalse(poly.covers(Point(100, 100))) + def test_closed(self): + ls_closed = LineString((0, 0), (1, 1), (0, 0)) + ls_not_closed = LineString((0, 0), (1, 1)) + self.assertFalse(ls_not_closed.closed) + self.assertTrue(ls_closed.closed) + + if geos_version_info()['version'] >= '3.5': + self.assertFalse(MultiLineString(ls_closed, ls_not_closed).closed) + self.assertTrue(MultiLineString(ls_closed, ls_closed).closed) + + with mock.patch('django.contrib.gis.geos.collections.geos_version_info', lambda: {'version': '3.4.9'}): + with self.assertRaisesMessage(GEOSException, "MultiLineString.closed requires GEOS >= 3.5.0."): + MultiLineString().closed + def test_srid(self): "Testing the SRID property and keyword." # Testing SRID keyword on Point -- cgit v1.3