Exemplo n.º 1
0
 def test_set_creation(self):
     polygon = GEOSGeometry('SRID=4326;MULTIPOLYGON(((0 0,10 0,10 10,0 10,'\
                            '0 0)))')
     main_area = Area(label=u'Test', polygon=polygon)
     main_area.save()
     self.assertEqual(main_area.default_location.point,
                      GEOSGeometry('SRID=4326;POINT (5 5)'))
Exemplo n.º 2
0
 def test_set_creation(self):
     with self.assertRaises(ValidationError):
         location = Location(label=u'Test', point=None, area=None)
         location.save()
     point = GEOSGeometry('SRID=4326;POINT(-8.88 53.81)')
     location = Location(label=u'Test point', point=point, area=None)
     location.save()
     polygon = GEOSGeometry('SRID=4326;MULTIPOLYGON(((-8.88 53.81,'\
              '-1.41 55.84,-5.54 53.29,0.34 54.69, -8.88 53.81)))')
     area = Area(label=u'Test', polygon=polygon)
     area.save()
     location = Location.objects.create(label=u'Test point', point=None,
                                        area=area)
     location.save()
Exemplo n.º 3
0
 def test_set_creation(self):
     # verify if no point and no area is set # validation test removed?
     #with self.assertRaises(ValidationError):
     #    location = Location(label=u'Test', point=None, area=None)
     #    location.save()
     point = GEOSGeometry('SRID=4326;POINT(-8.88 53.81)')
     location = Location(adr1=u'Test point', point=point, area=None)
     location.save()
     self.assertEqual(location.adr1, location.label)
     polygon = GEOSGeometry('SRID=4326;MULTIPOLYGON(((-8.88 53.81,'\
              '-1.41 55.84,-5.54 53.29,0.34 54.69, -8.88 53.81)))')
     area = Area(label=u'Test', polygon=polygon,
                 area_type=self.area_types[0])
     area.save()
     location = Location.objects.create(label=u'Test point', point=None,
                                        area=area)
     location.save()
Exemplo n.º 4
0
 def test_set_creation(self):
     # verify if no point and no area is set # validation test removed?
     #with self.assertRaises(ValidationError):
     #    location = Location(label=u'Test', point=None, area=None)
     #    location.save()
     point = GEOSGeometry('SRID=4326;POINT(-8.88 53.81)')
     location = Location(adr1=u'Test point', point=point, area=None)
     location.save()
     self.assertEqual(location.adr1, location.label)
     polygon = GEOSGeometry('SRID=4326;MULTIPOLYGON(((-8.88 53.81,'\
              '-1.41 55.84,-5.54 53.29,0.34 54.69, -8.88 53.81)))')
     area = Area(label=u'Test',
                 polygon=polygon,
                 area_type=self.area_types[0])
     area.save()
     location = Location.objects.create(label=u'Test point',
                                        point=None,
                                        area=area)
     location.save()
Exemplo n.º 5
0
    def test_relations_levels(self):
        polygon = GEOSGeometry('SRID=4326;MULTIPOLYGON(((-8.88 53.81'\
                ',-1.41 55.84,-5.54 53.29,0.34 54.69, -8.88 53.81)))')
        """
        area_1
        > area_2
        > > area_3
        > > > area_4
        > > > area_6
        > > area_8
        > area_5
        > > area_7
        """
        area_1 = Area.objects.create(label=u'Area 1', polygon=polygon,
                                     area_type=self.area_types[0])
        area_2 = Area.objects.create(label=u'Area 2', polygon=polygon,
                                     area_type=self.area_types[0])
        area_1.add_child(area_2)
        area_3 = Area.objects.create(label=u'Area 3', polygon=polygon,
                                     area_type=self.area_types[0])
        area_3.add_parent(area_2)
        area_4 = Area.objects.create(label=u'Area 4', polygon=polygon,
                                     area_type=self.area_types[0])
        area_5 = Area.objects.create(label=u'Area 5', polygon=polygon,
                                     area_type=self.area_types[0])
        area_5.add_parent(area_1)
        area_6 = Area.objects.create(label=u'Area 6', polygon=polygon,
                                     area_type=self.area_types[0])
        area_3.add_childs([area_4, area_6])
        area_7 = Area.objects.create(label=u'Area 7', polygon=polygon,
                                     area_type=self.area_types[0])
        area_5.add_childs([area_7])
        area_8 = Area.objects.create(label=u'Area 8', polygon=polygon,
                                     area_type=self.area_types[0])
        area_2.add_child(area_8)
        self.assertEqual(area_1.level, 0)
        self.assertEqual(area_2.level, 1)
        self.assertEqual(area_3.level, 2)
        self.assertEqual(area_4.level, 3)
        self.assertEqual(area_5.level, 1)
        self.assertEqual(area_6.level, 3)
        self.assertEqual(area_7.level, 2)
        self.assertEqual(area_8.level, 2)
        # reinitialise
        for idx in xrange(1,9):
            locals()['area_%d'%idx]._level = None
        areas = Area.get_all()
        self.assertEqual(areas, [area_1, area_2, area_3, area_4, area_6,
                                 area_8, area_5, area_7])
        areas_dct = {1:areas[0],
                     2:areas[1],
                     3:areas[2],
                     4:areas[3],
                     6:areas[4],
                     8:areas[5],
                     5:areas[6],
                     7:areas[7],
                     } # for readability
        self.assertEqual(areas_dct[1].level, 0)
        self.assertEqual(areas_dct[2].level, 1)
        self.assertEqual(areas_dct[3].level, 2)
        self.assertEqual(areas_dct[4].level, 3)
        self.assertEqual(areas_dct[5].level, 1)
        self.assertEqual(areas_dct[6].level, 3)
        self.assertEqual(areas_dct[7].level, 2)
        self.assertEqual(areas_dct[8].level, 2)

        self.assertEqual(areas_dct[1].leaf, True)
        self.assertEqual(areas_dct[2].leaf, True)
        self.assertEqual(areas_dct[3].leaf, True)
        self.assertEqual(areas_dct[6].end_leaf, 1)
        self.assertEqual(areas_dct[8].end_leaf, 1)
        self.assertEqual(areas_dct[5].leaf, True)
        self.assertEqual(areas_dct[7].end_leaf, 2)
Exemplo n.º 6
0
    def test_relations_levels(self):
        polygon = GEOSGeometry('SRID=4326;MULTIPOLYGON(((-8.88 53.81'\
                ',-1.41 55.84,-5.54 53.29,0.34 54.69, -8.88 53.81)))')
        """
        area_1
        > area_2
        > > area_3
        > > > area_4
        > > > area_6
        > > area_8
        > area_5
        > > area_7
        """
        area_1 = Area.objects.create(label=u'Area 1', polygon=polygon)
        area_2 = Area.objects.create(label=u'Area 2', polygon=polygon)
        area_1.add_child(area_2, DEFAULT_RELATION_TYPE)
        area_3 = Area.objects.create(label=u'Area 3', polygon=polygon)
        area_3.add_parent(area_2, DEFAULT_RELATION_TYPE)
        area_4 = Area.objects.create(label=u'Area 4', polygon=polygon)
        area_5 = Area.objects.create(label=u'Area 5', polygon=polygon)
        area_5.add_parent(area_1, DEFAULT_RELATION_TYPE)
        area_6 = Area.objects.create(label=u'Area 6', polygon=polygon)
        area_3.add_childs([area_4, area_6], DEFAULT_RELATION_TYPE)
        area_7 = Area.objects.create(label=u'Area 7', polygon=polygon)
        area_5.add_childs([area_7], DEFAULT_RELATION_TYPE)
        area_8 = Area.objects.create(label=u'Area 8', polygon=polygon)
        area_2.add_child(area_8, DEFAULT_RELATION_TYPE)
        self.assertEqual(area_1.level, 0)
        self.assertEqual(area_2.level, 1)
        self.assertEqual(area_3.level, 2)
        self.assertEqual(area_4.level, 3)
        self.assertEqual(area_5.level, 1)
        self.assertEqual(area_6.level, 3)
        self.assertEqual(area_7.level, 2)
        self.assertEqual(area_8.level, 2)
        # reinitialise
        for idx in xrange(1,9):
            locals()['area_%d'%idx]._level = None
        areas = Area.get_all()
        self.assertEqual(areas, [area_1, area_2, area_3, area_4, area_6,
                                 area_8, area_5, area_7])
        areas_dct = {1:areas[0],
                     2:areas[1],
                     3:areas[2],
                     4:areas[3],
                     6:areas[4],
                     8:areas[5],
                     5:areas[6],
                     7:areas[7],
                     } # for readability
        self.assertEqual(areas_dct[1].level, 0)
        self.assertEqual(areas_dct[2].level, 1)
        self.assertEqual(areas_dct[3].level, 2)
        self.assertEqual(areas_dct[4].level, 3)
        self.assertEqual(areas_dct[5].level, 1)
        self.assertEqual(areas_dct[6].level, 3)
        self.assertEqual(areas_dct[7].level, 2)
        self.assertEqual(areas_dct[8].level, 2)

        self.assertEqual(areas_dct[1].leaf, True)
        self.assertEqual(areas_dct[2].leaf, True)
        self.assertEqual(areas_dct[3].leaf, True)
        self.assertEqual(areas_dct[6].end_leaf, 1)
        self.assertEqual(areas_dct[8].end_leaf, 1)
        self.assertEqual(areas_dct[5].leaf, True)
        self.assertEqual(areas_dct[7].end_leaf, 2)