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

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

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

revision 684 by jonathan, Tue Apr 15 21:55:12 2003 UTC revision 690 by jonathan, Wed Apr 16 13:47:22 2003 UTC
# Line 60  contents_single_map = '''\ Line 60  contents_single_map = '''\
60  </session>  </session>
61  '''  '''
62    
63    contents_classified_map_v0_2 = '''\
64    <?xml version="1.0" encoding="UTF-8"?>
65    <!DOCTYPE session SYSTEM "thuban.dtd">
66    <session title="single map&amp;layer">
67            <map title="Test Map">
68                    <projection>
69                            <parameter value="zone=26"/>
70                            <parameter value="proj=utm"/>
71                            <parameter value="ellps=clrk66"/>
72                    </projection>
73                    <layer title="My Layer" stroke_width="1" fill="None"
74                        filename="../../Data/iceland/political.shp"
75                        stroke="#000000">
76                <classification field="POPYREG" field_type="string">
77                    <clnull>
78                        <cldata stroke="#000000" stroke_width="1" fill="None"/>
79                    </clnull>
80                    <clpoint value="1">
81                        <cldata stroke="#000000" stroke_width="2" fill="None"/>
82                    </clpoint>
83                    <clpoint value="1">
84                        <cldata stroke="#000000" stroke_width="10" fill="None"/>
85                    </clpoint>
86                </classification>
87            </layer>
88                    <layer title="My Layer 2" stroke_width="1" fill="None"
89                        filename="../../Data/iceland/political.shp"
90                        stroke="#000000">
91                <classification field="AREA" field_type="double">
92                    <clnull>
93                        <cldata stroke="#000000" stroke_width="1" fill="None"/>
94                    </clnull>
95                    <clnull>
96                        <cldata stroke="#000000" stroke_width="2" fill="None"/>
97                    </clnull>
98                    <clrange min="0" max="1">
99                        <cldata stroke="#000000" stroke_width="1" fill="None"/>
100                    </clrange>
101                    <clpoint value=".5">
102                        <cldata stroke="#000000" stroke_width="1" fill="None"/>
103                    </clpoint>
104                    <clrange min="-1" max="0">
105                        <cldata stroke="#000000" stroke_width="1" fill="None"/>
106                    </clrange>
107                    <clpoint value="-.5">
108                        <cldata stroke="#000000" stroke_width="1" fill="None"/>
109                    </clpoint>
110                </classification>
111            </layer>
112            </map>
113    </session>
114    '''
115    
116    contents_test_labels = '''\
117    <?xml version="1.0" encoding="UTF-8"?>
118    <!DOCTYPE session SYSTEM "thuban.dtd">
119    <session title="single map&amp;layer">
120            <map title="Test Map">
121                    <projection>
122                            <parameter value="zone=26"/>
123                            <parameter value="proj=utm"/>
124                            <parameter value="ellps=clrk66"/>
125                    </projection>
126                    <layer title="My Layer" stroke_width="1" fill="None"
127                        filename="../../Data/iceland/political.shp"
128                        stroke="#000000">
129                <classification field="POPYREG" field_type="string">
130                    <clnull label="hallo">
131                        <cldata stroke="#000000" stroke_width="1" fill="None"/>
132                    </clnull>
133                    <clpoint label="welt" value="1">
134                        <cldata stroke="#000000" stroke_width="2" fill="None"/>
135                    </clpoint>
136                </classification>
137            </layer>
138        </map>
139    </session>
140    '''
141    
142  class LoadSessionTest(unittest.TestCase, support.FileTestMixin):  class LoadSessionTest(unittest.TestCase, support.FileTestMixin):
143    
# Line 68  class LoadSessionTest(unittest.TestCase, Line 146  class LoadSessionTest(unittest.TestCase,
146          file = open(self.temp_file_name("load_singlelayer.thuban"), "w")          file = open(self.temp_file_name("load_singlelayer.thuban"), "w")
147          file.write(contents_single_map)          file.write(contents_single_map)
148          file.close()          file.close()
149    
150            file = open(self.temp_file_name("load_classified_v0_2.thuban"), "w")
151            file.write(contents_classified_map_v0_2)
152            file.close()
153    
154            file = open(self.temp_file_name("load_labels.thuban"), "w")
155            file.write(contents_test_labels)
156            file.close()
157          self.session = None          self.session = None
158    
159      def tearDown(self):      def tearDown(self):
# Line 112  class LoadSessionTest(unittest.TestCase, Line 198  class LoadSessionTest(unittest.TestCase,
198      def testClassification(self):      def testClassification(self):
199          """Load a session with a map and classified layers."""          """Load a session with a map and classified layers."""
200    
201          eq = self.assertEquals          session = load_session(self.temp_file_name("load_classified_v0_2.thuban"))
         session = load_session("../Data/iceland_sample_test.thuban")  
202          self.session = session          self.session = session
203    
204          map = self.session.Maps()[0] # only one map in the sample          map = self.session.Maps()[0] # only one map in the sample
205    
206          layers = map.Layers()          expected = [("My Layer", 2,
         eq(len(layers), 3)  
   
         expected = (("political", 0,  
                         [("default", (), "",  
                             ("#000000", 1, "#c0c0c0"))]),  
                     ("roads-line", 5,  
207                          [("default", (), "",                          [("default", (), "",
208                              ("#000000", 1, "None")),                              ("#000000", 1, "None")),
209                           ("range", (0.001, 0.3996), "short roads",                           ("single", "1", "",
210                              ("#ffffff", 1, "#ffffff")),                              ("#000000", 2, "None")),
211                           ("range", (0.3996, 0.7982), "less short",                           ("single", "1", "",
212                              ("#ccf4cc", 1, "#ccf4cc")),                              ("#000000", 10, "None"))]),
213                           ("range", (0.7982, 1.1968), "bit longer",                       ("My Layer 2", 4,
214                              ("#99ea99", 1, "#99ea99")),                           [("default", (), "",
215                           ("range", (1.1968, 1.5954), "where's the end?",                              ("#000000", 2, "None")),
216                              ("#66e066", 1, "#66e066")),                            ("range", (0, 1), "",
217                           ("range", (1.5954, 1.994), "long roads",                              ("#000000", 1, "None")),
218                              ("#33d633", 1, "#33d633"))]),                            ("single", .5, "",
219                      ("something else", 6,                              ("#000000", 1, "None")),
220                          [("default", (), "",                            ("range", (-1, 0), "",
221                              ("#000000", 1, "None")),                              ("#000000", 1, "None")),
222                           ("single", ("BUILDING"),  "",                            ("single", -.5, "",
223                              ("#0000ff", 1, "#0000ff")),                              ("#000000", 1, "None"))])]
                          ("single", ("FARM"), "",  
                             ("#00aaff", 1, "#00aaff")),  
                          ("single", ("HUT"), "",  
                             ("#00ffaa", 1, "#00ffaa")),  
                          ("single", ("LIGHTHOUSE"), "",  
                             ("#00ff00", 1, "#00ff00")),  
                          ("single", ("OTHER/UNKNOWN"), "",  
                             ("#aaff00", 1, "#aaff00")),  
                          ("single", ("RUINS"), "",  
                             ("#ffaa00", 1, "#ffaa00"))]))  
224    
225          eq(len(layers), len(expected))          self.TestLayers(map.Layers(), expected)
226    
227        def TestLayers(self, layers, expected):
228    
229          TITLE = 0          TITLE = 0
230          NUM_GROUPS = 1          NUM_GROUPS = 1
# Line 163  class LoadSessionTest(unittest.TestCase, Line 234  class LoadSessionTest(unittest.TestCase,
234          GROUP_LABEL = 2          GROUP_LABEL = 2
235          GROUP_PROPS = 3          GROUP_PROPS = 3
236    
237            eq = self.assertEquals
238    
239            eq(len(layers), len(expected))
240    
241          for layer, data in zip(layers, expected):          for layer, data in zip(layers, expected):
242              eq(layer.Title(), data[TITLE])              eq(layer.Title(), data[TITLE])
243    
# Line 194  class LoadSessionTest(unittest.TestCase, Line 269  class LoadSessionTest(unittest.TestCase,
269    
270                  i += 1                  i += 1
271    
272        def testLabels(self):
273            """Load a session and test for reading the group labels."""
274    
275            eq = self.assertEquals
276            session = load_session(self.temp_file_name("load_labels.thuban"))
277            self.session = session
278    
279            map = self.session.Maps()[0] # only one map in the sample
280    
281            expected = [("My Layer", 1,
282                            [("default", (), "hallo",
283                                ("#000000", 1, "None")),
284                             ("single", "1", "welt",
285                                ("#000000", 2, "None"))])]
286    
287            self.TestLayers(map.Layers(), expected)
288    
289  if __name__ == "__main__":  if __name__ == "__main__":
290      unittest.main()      unittest.main()
291    

Legend:
Removed from v.684  
changed lines
  Added in v.690

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26