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

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

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

revision 752 by jonathan, Fri Apr 25 14:23:34 2003 UTC revision 1684 by bh, Thu Aug 28 18:55:01 2003 UTC
# Line 1  Line 1 
1  # Copyright (c) 2002 by Intevation GmbH  # Copyright (c) 2002, 2003 by Intevation GmbH
2  # Authors:  # Authors:
3  # Bernhard Herzog <[email protected]>  # Bernhard Herzog <[email protected]>
4  #  #
# Line 19  import os Line 19  import os
19  import support  import support
20  support.initthuban()  support.initthuban()
21    
22    from Thuban import _
23  from Thuban.Model.proj import Projection, ProjFile  from Thuban.Model.proj import Projection, ProjFile
24    
25  import Thuban.Model.resource as resource  import Thuban.Model.resource as resource
26    
27  from test_save import sax_eventlist  from xmlsupport import sax_eventlist
28    
29  from xml.sax import SAXParseException  from xml.sax import SAXParseException
30    
# Line 35  class TestProjection(unittest.TestCase, Line 36  class TestProjection(unittest.TestCase,
36    
37      def test(self):      def test(self):
38          """Test Projection"""          """Test Projection"""
39          proj = Projection(["zone=26", "proj=utm", "ellps=clrk66"])          params = ["zone=26", "proj=utm", "ellps=clrk66"]
40          self.assertEquals(proj.params, ["zone=26", "proj=utm", "ellps=clrk66"])          proj = Projection(params)
41            self.assertEquals(proj.params, params)
42    
43          # It's not clear whether this value is really the correct one          # It's not clear whether this value is really the correct one
44          # but a test failure here probably still means a bug somewhere          # but a test failure here probably still means a bug somewhere
# Line 51  class TestProjection(unittest.TestCase, Line 53  class TestProjection(unittest.TestCase,
53                                    3875381.8535437919, 252962.10480170773),                                    3875381.8535437919, 252962.10480170773),
54                                   epsilon = 1e-5)                                   epsilon = 1e-5)
55    
56            # GetName()
57            self.assertEquals(proj.GetName(), _("Unknown"))
58    
59            # GetParameter()
60          self.assertEquals(proj.GetParameter("zone"), "26")          self.assertEquals(proj.GetParameter("zone"), "26")
61          self.assertEquals(proj.GetParameter("proj"), "utm")          self.assertEquals(proj.GetParameter("proj"), "utm")
62          self.assertEquals(proj.GetParameter("ellps"), "clrk66")          self.assertEquals(proj.GetParameter("ellps"), "clrk66")
63          self.assertEquals(proj.GetParameter("hallo"), "")          self.assertEquals(proj.GetParameter("hallo"), "")
64    
65            # GetAllParameters()
66            self.assertEquals(proj.GetAllParameters(), params)
67    
68            # GetName()
69            proj = Projection(params, "MyName")
70            self.assertEquals(proj.GetName(), "MyName")
71    
72    
73  sample_projfile = '''\  sample_projfile = '''\
74  <?xml version="1.0" encoding="UTF-8"?>  <?xml version="1.0" encoding="UTF-8"?>
# Line 123  class TestProjFile(unittest.TestCase, su Line 136  class TestProjFile(unittest.TestCase, su
136    
137          eq = self.assertEquals          eq = self.assertEquals
138    
139    
140          #          #
141          # __init__()          # __init__()
142          # GetFilename()          # GetFilename()
# Line 149  class TestProjFile(unittest.TestCase, su Line 163  class TestProjFile(unittest.TestCase, su
163          eq(len(projFile.GetProjections()), 0)          eq(len(projFile.GetProjections()), 0)
164    
165          # try to remove something that doesn't exist          # try to remove something that doesn't exist
166            self.assertRaises(ValueError, projFile.Remove, None)
167          self.assertRaises(ValueError, projFile.Remove, proj0)          self.assertRaises(ValueError, projFile.Remove, proj0)
168    
169          projFile.Add(proj0)          projFile.Add(proj0)
# Line 162  class TestProjFile(unittest.TestCase, su Line 177  class TestProjFile(unittest.TestCase, su
177          eq(projs[1], proj1)          eq(projs[1], proj1)
178          eq(projs[2], proj2)          eq(projs[2], proj2)
179    
180          #          projFile.Remove(proj2)
181          # SetAllParameters()          projFile.Remove(proj1)
182          # SetName()  
183          # SetProjection()          # Replace()
184          #          projFile.Replace(proj0, proj1)
185          params = ["proj=utm", "ellps=clrk66", "zone=13"]          projs = projFile.GetProjections()
186          proj0.SetAllParameters(params)          eq(projs[0], proj1)
187          eq(proj0.GetAllParameters(), params)  
188                    # replace a non-existent projection
189          proj2.SetName("something")          self.assertRaises(ValueError, projFile.Replace, None, proj2)
190          proj0.SetProjection(proj2)          self.assertRaises(ValueError, projFile.Replace, proj0, proj2)
         eq(proj0.GetName(), "something")  
         eq(proj0.GetAllParameters(), proj2.GetAllParameters())  
191    
192      def testRead(self):      def testRead(self):
193          """Test ReadProjFile"""          """Test read_proj_file"""
194    
195          self.doTestRead(sample_projfile_data, sample_projfile)          self.doTestRead(sample_projfile_data, sample_projfile)
196          self.doTestRead(sample_projfile_data2, sample_projfile2)          self.doTestRead(sample_projfile_data2, sample_projfile2)
# Line 186  class TestProjFile(unittest.TestCase, su Line 199  class TestProjFile(unittest.TestCase, su
199          # file doesn't exist          # file doesn't exist
200          #          #
201          self.assertRaises(IOError,          self.assertRaises(IOError,
202              resource.ReadProjFile, self.temp_file_name("nonexistent.proj"))              resource.read_proj_file, self.temp_file_name("nonexistent.proj"))
203    
204          #          #
205          # file isn't readable          # file isn't readable
# Line 195  class TestProjFile(unittest.TestCase, su Line 208  class TestProjFile(unittest.TestCase, su
208          file = open(filename, "w")          file = open(filename, "w")
209          file.close()          file.close()
210          os.chmod(filename, 0200) # write-only          os.chmod(filename, 0200) # write-only
211          self.assertRaises(IOError, resource.ReadProjFile, filename)          self.assertRaises(IOError, resource.read_proj_file, filename)
212          os.chmod(filename, 0600) # read/write so we reuse the file          os.chmod(filename, 0600) # read/write so we reuse the file
213    
214          #          #
# Line 205  class TestProjFile(unittest.TestCase, su Line 218  class TestProjFile(unittest.TestCase, su
218          file = open(filename, "w")          file = open(filename, "w")
219          file.close()          file.close()
220    
221          self.assertRaises(SAXParseException, resource.ReadProjFile, filename)          self.assertRaises(SAXParseException, resource.read_proj_file, filename)
222    
223      def testWrite(self):      def testWrite(self):
224          """Test WriteProjFile"""          """Test write_proj_file"""
225    
226          self.doTestWrite(sample_projfile_data, sample_projfile)          self.doTestWrite(sample_projfile_data, sample_projfile)
227          self.doTestWrite(sample_projfile_data2, sample_projfile2)          self.doTestWrite(sample_projfile_data2, sample_projfile2)
# Line 221  class TestProjFile(unittest.TestCase, su Line 234  class TestProjFile(unittest.TestCase, su
234          for proj in data:          for proj in data:
235              pf.Add(Projection(proj[1], proj[0]))              pf.Add(Projection(proj[1], proj[0]))
236    
237          resource.WriteProjFile(pf)          resource.write_proj_file(pf)
238    
239          file = open(filename)          file = open(filename)
240          written_contents = file.read()          written_contents = file.read()
# Line 235  class TestProjFile(unittest.TestCase, su Line 248  class TestProjFile(unittest.TestCase, su
248          file.write(input)          file.write(input)
249          file.close()          file.close()
250    
251          pf = resource.ReadProjFile(filename)          pf = resource.read_proj_file(filename)
252    
253          eq = self.assertEquals          eq = self.assertEquals
254    

Legend:
Removed from v.752  
changed lines
  Added in v.1684

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26