/django/contrib/gis/gdal/tests/test_driver.py

https://code.google.com/p/mango-py/ · Python · 40 lines · 31 code · 9 blank · 0 comment · 3 complexity · 24a1cc1bd4eb6e6a9f5362436d55ff39 MD5 · raw file

  1. import os, os.path, unittest
  2. from django.contrib.gis.gdal import Driver, OGRException
  3. valid_drivers = ('ESRI Shapefile', 'MapInfo File', 'TIGER', 'S57', 'DGN',
  4. 'Memory', 'CSV', 'GML', 'KML')
  5. invalid_drivers = ('Foo baz', 'clucka', 'ESRI Shp')
  6. aliases = {'eSrI' : 'ESRI Shapefile',
  7. 'TigER/linE' : 'TIGER',
  8. 'SHAPE' : 'ESRI Shapefile',
  9. 'sHp' : 'ESRI Shapefile',
  10. }
  11. class DriverTest(unittest.TestCase):
  12. def test01_valid_driver(self):
  13. "Testing valid OGR Data Source Drivers."
  14. for d in valid_drivers:
  15. dr = Driver(d)
  16. self.assertEqual(d, str(dr))
  17. def test02_invalid_driver(self):
  18. "Testing invalid OGR Data Source Drivers."
  19. for i in invalid_drivers:
  20. self.assertRaises(OGRException, Driver, i)
  21. def test03_aliases(self):
  22. "Testing driver aliases."
  23. for alias, full_name in aliases.items():
  24. dr = Driver(alias)
  25. self.assertEqual(full_name, str(dr))
  26. def suite():
  27. s = unittest.TestSuite()
  28. s.addTest(unittest.makeSuite(DriverTest))
  29. return s
  30. def run(verbosity=2):
  31. unittest.TextTestRunner(verbosity=verbosity).run(suite())