You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
import os, os.path, unittest |
|
from django.contrib.gis.gdal import Driver, OGRException |
|
|
|
valid_drivers = ('ESRI Shapefile', 'MapInfo File', 'TIGER', 'S57', 'DGN', |
|
'Memory', 'CSV', 'GML', 'KML') |
|
|
|
invalid_drivers = ('Foo baz', 'clucka', 'ESRI Shp') |
|
|
|
aliases = {'eSrI' : 'ESRI Shapefile', |
|
'TigER/linE' : 'TIGER', |
|
'SHAPE' : 'ESRI Shapefile', |
|
'sHp' : 'ESRI Shapefile', |
|
} |
|
|
|
class DriverTest(unittest.TestCase): |
|
|
|
def test01_valid_driver(self): |
|
"Testing valid OGR Data Source Drivers." |
|
for d in valid_drivers: |
|
dr = Driver(d) |
|
self.assertEqual(d, str(dr)) |
|
|
|
def test02_invalid_driver(self): |
|
"Testing invalid OGR Data Source Drivers." |
|
for i in invalid_drivers: |
|
self.assertRaises(OGRException, Driver, i) |
|
|
|
def test03_aliases(self): |
|
"Testing driver aliases." |
|
for alias, full_name in aliases.items(): |
|
dr = Driver(alias) |
|
self.assertEqual(full_name, str(dr)) |
|
|
|
def suite(): |
|
s = unittest.TestSuite() |
|
s.addTest(unittest.makeSuite(DriverTest)) |
|
return s |
|
|
|
def run(verbosity=2): |
|
unittest.TextTestRunner(verbosity=verbosity).run(suite())
|
|
|