test_fields.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import copy
  2. from django.contrib.gis.db.models import GeometryField
  3. from django.contrib.gis.db.models.sql import AreaField, DistanceField
  4. from django.test import SimpleTestCase
  5. class FieldsTests(SimpleTestCase):
  6. def test_area_field_deepcopy(self):
  7. field = AreaField(None)
  8. self.assertEqual(copy.deepcopy(field), field)
  9. def test_distance_field_deepcopy(self):
  10. field = DistanceField(None)
  11. self.assertEqual(copy.deepcopy(field), field)
  12. class GeometryFieldTests(SimpleTestCase):
  13. def test_deconstruct_empty(self):
  14. field = GeometryField()
  15. *_, kwargs = field.deconstruct()
  16. self.assertEqual(kwargs, {'srid': 4326})
  17. def test_deconstruct_values(self):
  18. field = GeometryField(
  19. srid=4067,
  20. dim=3,
  21. geography=True,
  22. extent=(50199.4814, 6582464.0358, -50000.0, 761274.6247, 7799839.8902, 50000.0),
  23. tolerance=0.01,
  24. )
  25. *_, kwargs = field.deconstruct()
  26. self.assertEqual(kwargs, {
  27. 'srid': 4067,
  28. 'dim': 3,
  29. 'geography': True,
  30. 'extent': (50199.4814, 6582464.0358, -50000.0, 761274.6247, 7799839.8902, 50000.0),
  31. 'tolerance': 0.01,
  32. })