diff options
Diffstat (limited to 'archaeological_finds/tests.py')
| -rw-r--r-- | archaeological_finds/tests.py | 45 | 
1 files changed, 44 insertions, 1 deletions
| diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 4713f2bcd..3c9995632 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -1655,7 +1655,7 @@ class GeomaticTest(FindInit, TestCase):                  '((6 3,9 2,9 4,6 3)))'          cr = ContextRecord.objects.get(pk=base_find.context_record.pk)          t = cr.town -        t.center ='SRID=4326;' + center +        t.center = 'SRID=4326;' + center          t.limit = 'SRID=4326;' + limit          t.save()          cr = ContextRecord.objects.get(pk=base_find.context_record.pk) @@ -1684,6 +1684,31 @@ class GeomaticTest(FindInit, TestCase):          self.assertEqual(base_find.point_source_item,                           unicode(ContextRecord._meta.verbose_name)) +        # geom from context record +        center = 'POINT(8 6)' +        cr = ContextRecord.objects.get(pk=base_find.context_record.pk) +        cr.point_2d = 'SRID=4326;' + center +        cr.point_source = 'P' +        cr.point_source_item = unicode(ContextRecord._meta.verbose_name) +        cr.save() +        cr = ContextRecord.objects.get(pk=base_find.context_record.pk) +        cr.x = cr.point_2d.x +        cr.y = cr.point_2d.y +        cr.save() +        cr = ContextRecord.objects.get(pk=base_find.context_record.pk) +        base_find = models.BaseFind.objects.get(pk=base_find.pk) +        base_find.save() +        base_find = models.BaseFind.objects.get(pk=base_find.pk) +        bfp = GEOSGeometry(base_find.point_2d.ewkt) +        bfp.transform(4326) +        tp = GEOSGeometry(cr.point_2d.ewkt) +        tp.transform(4326) +        self.assertTrue(bfp.distance(tp) < 0.0001) +        self.assertEqual(base_find.multi_polygon, cr.multi_polygon) +        self.assertEqual(base_find.point_source, 'P')  # precise +        self.assertEqual(base_find.point_source_item, +                         unicode(ContextRecord._meta.verbose_name)) +          # overload of coordinates by form          base_find = models.BaseFind.objects.get(pk=base_find.pk)          base_find.x = 5 @@ -1741,6 +1766,24 @@ class GeomaticTest(FindInit, TestCase):          self.assertIsNotNone(base_find.point_2d)          self.assertEqual(base_find.point_source, 'M')  # from multi polygon +        # geom from context record +        limit = 'MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),' \ +                '((6 3,9 2,9 4,6 3)))' +        cr = ContextRecord.objects.get(pk=base_find.context_record.pk) +        cr.multi_polygon = 'SRID=4326;' + limit +        cr.multi_polygon_source = 'P' +        cr.multi_polygon_source_item = unicode(ContextRecord._meta.verbose_name) +        cr.save() +        cr = ContextRecord.objects.get(pk=base_find.context_record.pk) +        base_find = models.BaseFind.objects.get(pk=base_find.pk) +        base_find.multi_polygon_source_item = "hop" +        base_find.save() +        base_find = models.BaseFind.objects.get(pk=base_find.pk) +        self.assertEqual(base_find.multi_polygon, cr.multi_polygon) +        self.assertEqual(base_find.multi_polygon_source, 'P')  # precise +        self.assertEqual(base_find.multi_polygon_source_item, +                         unicode(ContextRecord._meta.verbose_name)) +          base_find = models.BaseFind.objects.get(pk=base_find.pk)          base_find.point_source = None          base_find.spatial_reference_system = srs | 
