/[thuban]/branches/WIP-pyshapelib-bramz/test/test_save.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/test/test_save.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1677 by bh, Thu Aug 28 13:34:28 2003 UTC revision 1845 by bh, Tue Oct 21 10:49:50 2003 UTC
# Line 65  class XMLWriterTest(unittest.TestCase): Line 65  class XMLWriterTest(unittest.TestCase):
65  class SaveSessionTest(unittest.TestCase, support.FileTestMixin,  class SaveSessionTest(unittest.TestCase, support.FileTestMixin,
66                        xmlsupport.ValidationTest):                        xmlsupport.ValidationTest):
67    
68      dtd = "http://thuban.intevation.org/dtds/thuban-0.9.dtd"      dtd = "http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd"
69      thubanids = [((dtd, n), (None, "id")) for n in      thubanids = [((dtd, n), (None, "id")) for n in
70                   ["fileshapesource", "filetable", "jointable",                   ["fileshapesource", "filetable", "jointable",
71                    "derivedshapesource", "dbshapesource", "dbconnection"]]                    "derivedshapesource", "dbshapesource", "dbconnection"]]
# Line 111  class SaveSessionTest(unittest.TestCase, Line 111  class SaveSessionTest(unittest.TestCase,
111          file.close()          file.close()
112          self.compare_xml(written_contents,          self.compare_xml(written_contents,
113                           '<?xml version="1.0" encoding="UTF-8"?>\n'                           '<?xml version="1.0" encoding="UTF-8"?>\n'
114                           '<!DOCTYPE session SYSTEM "thuban-0.9.dtd">\n'                           '<!DOCTYPE session SYSTEM "thuban-1.0.dtd">\n'
115                           '<session title="empty session" '                           '<session title="empty session" '
116           'xmlns="http://thuban.intevation.org/dtds/thuban-0.9.dtd">'           'xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd">'
117                           '\n</session>\n')                           '\n</session>\n')
118    
119          self.validate_data(written_contents)          self.validate_data(written_contents)
# Line 122  class SaveSessionTest(unittest.TestCase, Line 122  class SaveSessionTest(unittest.TestCase,
122          """Save a session with a single map with a single layer"""          """Save a session with a single map with a single layer"""
123          # deliberately put an apersand in the title :)          # deliberately put an apersand in the title :)
124          session = Session("single map&layer")          session = Session("single map&layer")
125          proj = Projection(["zone=26", "proj=utm", "ellps=clrk66"])          proj = Projection(["proj=utm", "zone=27", "ellps=WGS84",
126                               "datum=WGS84", "units=m"],
127                              name = "WGS 84 / UTM zone 27N",
128                              epsg = "32627")
129          map = Map("Test Map", projection = proj)          map = Map("Test Map", projection = proj)
130          session.AddMap(map)          session.AddMap(map)
131          # use shapefile from the example data          # use shapefile from the example data
# Line 138  class SaveSessionTest(unittest.TestCase, Line 141  class SaveSessionTest(unittest.TestCase,
141          written_contents = file.read()          written_contents = file.read()
142          file.close()          file.close()
143          expected_template = '''<?xml version="1.0" encoding="UTF-8"?>          expected_template = '''<?xml version="1.0" encoding="UTF-8"?>
144          <!DOCTYPE session SYSTEM "thuban-0.9.dtd">          <!DOCTYPE session SYSTEM "thuban-1.0.dtd">
145          <session title="single map&amp;layer"          <session title="single map&amp;layer"
146             xmlns="http://thuban.intevation.org/dtds/thuban-0.9.dtd">             xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd">
147              <fileshapesource id="D1" filename="%s" filetype="shapefile"/>              <fileshapesource id="D1" filename="%s" filetype="shapefile"/>
148              <map title="Test Map">              <map title="Test Map">
149                  <projection name="Unknown">                  <projection epsg="32627" name="WGS 84 / UTM zone 27N">
                     <parameter value="zone=26"/>  
150                      <parameter value="proj=utm"/>                      <parameter value="proj=utm"/>
151                      <parameter value="ellps=clrk66"/>                      <parameter value="zone=27"/>
152                        <parameter value="ellps=WGS84"/>
153                        <parameter value="datum=WGS84"/>
154                        <parameter value="units=m"/>
155                  </projection>                  </projection>
156                  <layer title="My Layer" shapestore="D1"                  <layer title="My Layer" shapestore="D1"
157                  fill="None" stroke="#000000" stroke_width="1" visible="%s"/>                  fill="None" stroke="#000000" stroke_width="1" visible="%s"/>
# Line 178  class SaveSessionTest(unittest.TestCase, Line 183  class SaveSessionTest(unittest.TestCase,
183      def testLayerProjection(self):      def testLayerProjection(self):
184          """Test saving layers with projections"""          """Test saving layers with projections"""
185          # deliberately put an apersand in the title :)          # deliberately put an apersand in the title :)
186          session = Session("single map&layer")          session = self.session = Session("single map&layer")
187          proj = Projection(["zone=26", "proj=utm", "ellps=clrk66"])          proj = Projection(["zone=26", "proj=utm", "ellps=clrk66"])
188          map = Map("Test Map", projection = proj)          map = Map("Test Map", projection = proj)
189          session.AddMap(map)          session.AddMap(map)
# Line 186  class SaveSessionTest(unittest.TestCase, Line 191  class SaveSessionTest(unittest.TestCase,
191          shpfile = os.path.join(os.path.dirname(__file__),          shpfile = os.path.join(os.path.dirname(__file__),
192                                 os.pardir, "Data", "iceland", "political.shp")                                 os.pardir, "Data", "iceland", "political.shp")
193          layer = Layer("My Layer", session.OpenShapefile(shpfile))          layer = Layer("My Layer", session.OpenShapefile(shpfile))
194          proj = Projection(["proj=lcc", "ellps=clrk66"], "Layer Projection")          proj = Projection(["proj=lcc", "ellps=clrk66",
195                               "lat_1=0", "lat_2=20"],
196                              "Layer Projection")
197          layer.SetProjection(proj)          layer.SetProjection(proj)
198          map.AddLayer(layer)          map.AddLayer(layer)
199    
200          filename = self.temp_file_name("save_layerproj.thuban")          filename = self.temp_file_name("save_layerproj.thuban")
201          save_session(session, filename)          save_session(session, filename)
         session.Destroy()  
202    
203          file = open(filename)          file = open(filename)
204          written_contents = file.read()          written_contents = file.read()
205          file.close()          file.close()
206          expected_contents = '''<?xml version="1.0" encoding="UTF-8"?>          expected_contents = '''<?xml version="1.0" encoding="UTF-8"?>
207          <!DOCTYPE session SYSTEM "thuban-0.9.dtd">          <!DOCTYPE session SYSTEM "thuban-1.0.dtd">
208          <session title="single map&amp;layer"          <session title="single map&amp;layer"
209             xmlns="http://thuban.intevation.org/dtds/thuban-0.9.dtd">             xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd">
210              <fileshapesource id="D1" filename="%s" filetype="shapefile"/>              <fileshapesource id="D1" filename="%s" filetype="shapefile"/>
211              <map title="Test Map">              <map title="Test Map">
212                  <projection name="Unknown">                  <projection name="Unknown">
# Line 213  class SaveSessionTest(unittest.TestCase, Line 219  class SaveSessionTest(unittest.TestCase,
219                      <projection name="Layer Projection">                      <projection name="Layer Projection">
220                          <parameter value="proj=lcc"/>                          <parameter value="proj=lcc"/>
221                          <parameter value="ellps=clrk66"/>                          <parameter value="ellps=clrk66"/>
222                            <parameter value="lat_1=0"/>
223                            <parameter value="lat_2=20"/>
224                      </projection>                      </projection>
225                  </layer>                  </layer>
226              </map>              </map>
# Line 244  class SaveSessionTest(unittest.TestCase, Line 252  class SaveSessionTest(unittest.TestCase,
252          written_contents = file.read()          written_contents = file.read()
253          file.close()          file.close()
254          expected_contents = '''<?xml version="1.0" encoding="UTF-8"?>          expected_contents = '''<?xml version="1.0" encoding="UTF-8"?>
255          <!DOCTYPE session SYSTEM "thuban-0.9.dtd">          <!DOCTYPE session SYSTEM "thuban-1.0.dtd">
256          <session title="single map&amp;layer"          <session title="single map&amp;layer"
257             xmlns="http://thuban.intevation.org/dtds/thuban-0.9.dtd">             xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd">
258              <map title="Test Map">              <map title="Test Map">
259                  <rasterlayer title="My RasterLayer" filename="%s"                  <rasterlayer title="My RasterLayer" filename="%s"
260                               visible="true">                               visible="true">
# Line 311  class SaveSessionTest(unittest.TestCase, Line 319  class SaveSessionTest(unittest.TestCase,
319          written_contents = file.read()          written_contents = file.read()
320          file.close()          file.close()
321          expected_template = '''<?xml version="1.0" encoding="UTF-8"?>          expected_template = '''<?xml version="1.0" encoding="UTF-8"?>
322          <!DOCTYPE session SYSTEM "thuban-0.9.dtd">          <!DOCTYPE session SYSTEM "thuban-1.0.dtd">
323          <session title="Map with Classifications"          <session title="Map with Classifications"
324             xmlns="http://thuban.intevation.org/dtds/thuban-0.9.dtd">             xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd">
325              <fileshapesource id="D1" filename="%s" filetype="shapefile"/>              <fileshapesource id="D1" filename="%s" filetype="shapefile"/>
326              <map title="Test Map">              <map title="Test Map">
327                  <projection name="Unknown">                  <projection name="Unknown">
# Line 384  class SaveSessionTest(unittest.TestCase, Line 392  class SaveSessionTest(unittest.TestCase,
392          written_contents = file.read()          written_contents = file.read()
393          file.close()          file.close()
394          expected_template = '''<?xml version="1.0" encoding="UTF-8"?>          expected_template = '''<?xml version="1.0" encoding="UTF-8"?>
395          <!DOCTYPE session SYSTEM "thuban-0.9.dtd">          <!DOCTYPE session SYSTEM "thuban-1.0.dtd">
396          <session title="a DBF Table session"          <session title="a DBF Table session"
397             xmlns="http://thuban.intevation.org/dtds/thuban-0.9.dtd">             xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd">
398              <filetable id="D1" filename="%s" filetype="DBF" title="political"/>              <filetable id="D1" filename="%s" filetype="DBF" title="political"/>
399          </session>'''          </session>'''
400    
# Line 444  class SaveSessionTest(unittest.TestCase, Line 452  class SaveSessionTest(unittest.TestCase,
452              written_contents = file.read()              written_contents = file.read()
453              file.close()              file.close()
454              expected_template = '''<?xml version="1.0" encoding="UTF-8"?>              expected_template = '''<?xml version="1.0" encoding="UTF-8"?>
455              <!DOCTYPE session SYSTEM "thuban-0.9.dtd">              <!DOCTYPE session SYSTEM "thuban-1.0.dtd">
456              <session title="A Joined Table session"              <session title="A Joined Table session"
457               xmlns="http://thuban.intevation.org/dtds/thuban-0.9.dtd">               xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd">
458                  <fileshapesource filename="%(shpfile)s"                  <fileshapesource filename="%(shpfile)s"
459                                   filetype="shapefile" id="D142197204"/>                                   filetype="shapefile" id="D142197204"/>
460                  <filetable filename="%(dbffile)s"                  <filetable filename="%(dbffile)s"
# Line 512  class SaveSessionTest(unittest.TestCase, Line 520  class SaveSessionTest(unittest.TestCase,
520              written = file.read()              written = file.read()
521              file.close()              file.close()
522              expected = '''<?xml version="1.0" encoding="UTF-8"?>              expected = '''<?xml version="1.0" encoding="UTF-8"?>
523              <!DOCTYPE session SYSTEM "thuban-0.9.dtd">              <!DOCTYPE session SYSTEM "thuban-1.0.dtd">
524              <session title="A PostGIS Session"              <session title="A PostGIS Session"
525               xmlns="http://thuban.intevation.org/dtds/thuban-0.9.dtd">               xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd">
526                  <dbconnection id="DB"                  <dbconnection id="DB"
527                                dbtype="postgis" dbname="plugh"                                dbtype="postgis" dbname="plugh"
528                                host="xyzzy" port="42"                                host="xyzzy" port="42"

Legend:
Removed from v.1677  
changed lines
  Added in v.1845

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26