diff options
Diffstat (limited to 'archaeological_operations/tests.py')
| -rw-r--r-- | archaeological_operations/tests.py | 73 | 
1 files changed, 72 insertions, 1 deletions
| diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index c09e30003..1ab511458 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -4395,7 +4395,7 @@ class SeleniumTestsOperations(SeleniumTests):          self.assertMap(dic_base)      def test_geo_items(self): -        geo_elements = self.setUpDefaultGeoItems() +        geo_elements, ope_pks = self.setUpDefaultGeoItems()          poly_ope, centr_ope, pt_ope = geo_elements[0]          dic_poly = { @@ -4425,3 +4425,74 @@ class SeleniumTestsOperations(SeleniumTests):          dropdown.click()          self.selenium.find_element_by_xpath('//div[@class="dropdown-menu show"]/a[@href="/operation_search/"]').click()          self._test_operation(2, dic_pt, geo_elements[1], geo_elements[2]) # point based operation + +    def assertPt(self, item, geom): +        #self.assertEqual(item.multi_polygon.coords, geom[0].coords) +        #self.assertEqual(item.point_2d.coords, geom[2].coords) +        print(item, " multi_poly:") +        print(item.multi_polygon.coords) +        print("geom:") +        print(geom[0].coords) +        print('result: ', item.multi_polygon.coords == geom[0].coords) +        print("point_2d:") +        print((round(item.x, 5), round(item.y, 5))) +        print("geom:") +        print(geom[2].coords) +        print('result: ', (round(item.x, 5), round(item.y, 5)) == geom[2].coords) +        print('\n') + +    def assertPoly(self, item, geom, real_point=None): +        #self.assertEqual(item.multi_polygon.coords, geom[0].coords) +        #if real_point: +        #   self.assertEqual((round(item.x, 5), round(item.y, 5)), geom[1].coords) +        # else: +        #   self.assertEqual((round(item.x, 5), round(item.y, 5)), real_point.coords) +        print(item, " multi_poly:") +        print(item.multi_polygon.coords) +        print("geom:") +        print(geom[0].coords) +        print('result: ', item.multi_polygon.coords==geom[0].coords) +        print("point_2d:") +        print((round(item.x, 5), round(item.y, 5))) +        print("geom:") +        point = geom[1].coords +        if real_point: +            point = real_point.coords +        print(point) +        print('result: ', (round(item.x, 5), round(item.y, 5)) == point) +        print('\n') + +    def test_setUpDefaultItems(self): +        from django.contrib.gis.geos import GEOSGeometry +        from archaeological_operations.models import Operation +        base_geoms, ope_pks = self.setUpDefaultGeoItems() +        geoms = [] +        for geom in base_geoms: +            poly = GEOSGeometry(json.dumps({'type': 'MultiPolygon', 'coordinates': geom[0]})) +            centr = GEOSGeometry(json.dumps({'type': 'Point', 'coordinates': geom[1]})) +            pt = GEOSGeometry(json.dumps({'type': 'Point', 'coordinates': geom[2]})) +            geoms.append([poly, centr, pt]) +        ope_pt = Operation.objects.get(pk=ope_pks[0]) +        self.assertPt(ope_pt, geoms[0]) +        ope_poly = Operation.objects.get(pk=ope_pks[1]) +        self.assertPoly(ope_poly, geoms[0]) + +        cr_poly_poly = ope_poly.context_record.all()[0] +        self.assertPoly(cr_poly_poly, geoms[1]) +        cr_poly_pt = ope_poly.context_record.all()[1] +        self.assertPt(cr_poly_pt, geoms[1]) +        cr_pt_poly = ope_pt.context_record.all()[0] +        self.assertPoly(cr_pt_poly, geoms[1], geoms[0][2]) +        cr_pt_pt = ope_pt.context_record.all()[1] +        self.assertPt(cr_pt_pt, geoms[1]) + +        self.assertPt(cr_pt_pt.base_finds.all()[0], geoms[2]) +        self.assertPoly(cr_pt_pt.base_finds.all()[1], geoms[2], geoms[1][2]) +        self.assertPt(cr_poly_pt.base_finds.all()[0], geoms[2]) +        self.assertPoly(cr_poly_pt.base_finds.all()[1], geoms[2], geoms[1][2]) +        self.assertPt(cr_pt_poly.base_finds.all()[0], geoms[2]) +        self.assertPoly(cr_pt_poly.base_finds.all()[1], geoms[2], geoms[0][2]) +        self.assertPt(cr_poly_poly.base_finds.all()[0], geoms[2]) +        self.assertPoly(cr_poly_poly.base_finds.all()[1], geoms[2]) + + | 
