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

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

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

revision 409 by jonathan, Wed Feb 19 16:50:39 2003 UTC revision 723 by bh, Thu Apr 24 15:31:53 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 20  import support Line 20  import support
20  support.initthuban()  support.initthuban()
21    
22  from Thuban.Model.messages import CHANGED, MAP_PROJECTION_CHANGED, \  from Thuban.Model.messages import CHANGED, MAP_PROJECTION_CHANGED, \
23       LAYERS_CHANGED, LAYER_VISIBILITY_CHANGED, LAYER_LEGEND_CHANGED       MAP_LAYERS_CHANGED, MAP_LAYERS_ADDED, MAP_LAYERS_REMOVED,\
24         MAP_STACKING_CHANGED, LAYER_VISIBILITY_CHANGED, LAYER_LEGEND_CHANGED, \
25         LAYER_CHANGED
26    
27    from Thuban.Model.session import Session
28  from Thuban.Model.map import Map  from Thuban.Model.map import Map
29  from Thuban.Model.layer import Layer  from Thuban.Model.layer import Layer
30  from Thuban.Model.proj import Projection  from Thuban.Model.proj import Projection
# Line 63  class TestMapBase(unittest.TestCase, sup Line 67  class TestMapBase(unittest.TestCase, sup
67    
68          # Create a Map and subscribe to all interesting channels.          # Create a Map and subscribe to all interesting channels.
69          self.map = Map("Test Map")          self.map = Map("Test Map")
70          for channel in (CHANGED, MAP_PROJECTION_CHANGED, LAYERS_CHANGED,          for channel in (CHANGED,
71                          LAYER_VISIBILITY_CHANGED, LAYER_LEGEND_CHANGED):                          MAP_PROJECTION_CHANGED,
72                            MAP_LAYERS_CHANGED,
73                            MAP_LAYERS_ADDED,
74                            MAP_LAYERS_REMOVED,
75                            MAP_STACKING_CHANGED,
76                            LAYER_VISIBILITY_CHANGED,
77                            LAYER_LEGEND_CHANGED,
78                            LAYER_CHANGED):
79              self.map.Subscribe(channel, self.subscribe_with_params, channel)              self.map.Subscribe(channel, self.subscribe_with_params, channel)
80    
81      def tearDown(self):      def tearDown(self):
# Line 80  class TestMapAddLayer(TestMapBase): Line 91  class TestMapAddLayer(TestMapBase):
91      def test_add_layer(self):      def test_add_layer(self):
92          """Test Map.AddLayer"""          """Test Map.AddLayer"""
93          # make sure the created Map is unmodified          # make sure the created Map is unmodified
94            session = Session("Test session for %s" % self.__class__)
95          self.failIf(self.map.WasModified())          self.failIf(self.map.WasModified())
96          self.failIf(self.map.HasLayers())          self.failIf(self.map.HasLayers())
97    
98          # add a layer and check the result          # add a layer and check the result
99          roads = Layer("Roads",          filename = os.path.join("..", "Data", "iceland", "roads-line.shp")
100                        os.path.join("..", "Data", "iceland", "roads-line.shp"))          roads = Layer("Roads", session.OpenShapefile(filename))
101          self.map.AddLayer(roads)          self.map.AddLayer(roads)
102          self.assertEquals(self.map.Layers(), [roads])          self.assertEquals(self.map.Layers(), [roads])
103          self.check_messages([(self.map, LAYERS_CHANGED)])          self.check_messages([(self.map, MAP_LAYERS_CHANGED),
104                                 (self.map, MAP_LAYERS_ADDED)])
105          self.assert_(self.map.WasModified())          self.assert_(self.map.WasModified())
106          self.assert_(self.map.HasLayers())          self.assert_(self.map.HasLayers())
107    
# Line 108  class TestMapWithContents(TestMapBase, s Line 121  class TestMapWithContents(TestMapBase, s
121          received messages is empty.          received messages is empty.
122          """          """
123          TestMapBase.setUp(self)          TestMapBase.setUp(self)
124            self.session = Session("Test session for %s" % self.__class__)
125            open_shp = self.session.OpenShapefile
126          self.arc_layer = Layer("Roads",          self.arc_layer = Layer("Roads",
127                                 os.path.join("..", "Data", "iceland",                                 open_shp(os.path.join("..", "Data", "iceland",
128                                              "roads-line.shp"))                                                       "roads-line.shp")))
129          self.poly_layer = Layer("Political",          self.poly_layer = Layer("Political",
130                                  os.path.join("..", "Data", "iceland",                                  open_shp(os.path.join("..", "Data", "iceland",
131                                               "political.shp"))                                                        "political.shp")))
132          self.map.AddLayer(self.arc_layer)          self.map.AddLayer(self.arc_layer)
133          self.map.AddLayer(self.poly_layer)          self.map.AddLayer(self.poly_layer)
134          self.map.UnsetModified()          self.map.UnsetModified()
135          self.clear_messages()          self.clear_messages()
136    
137        def tearDown(self):
138            TestMapBase.tearDown(self)
139            self.session = None
140            self.map = None
141            self.poly_layer = self.arc_layer = None
142    
143      def test_remove_layer(self):      def test_remove_layer(self):
144          """Test Map.RemoveLayer"""          """Test Map.RemoveLayer"""
145          self.map.RemoveLayer(self.arc_layer)          self.map.RemoveLayer(self.arc_layer)
146          self.assert_(self.map.WasModified())          self.assert_(self.map.WasModified())
147          self.assertEquals(self.map.Layers(), [self.poly_layer])          self.assertEquals(self.map.Layers(), [self.poly_layer])
148          self.map.UnsetModified()          self.map.UnsetModified()
149          self.check_messages([(self.map, LAYERS_CHANGED),          self.check_messages([(self.map, MAP_LAYERS_CHANGED),
150                                 (self.map, MAP_LAYERS_REMOVED),
151                               (CHANGED,)])                               (CHANGED,)])
152    
153      def test_clear_layers(self):      def test_clear_layers(self):
# Line 133  class TestMapWithContents(TestMapBase, s Line 155  class TestMapWithContents(TestMapBase, s
155          self.map.ClearLayers()          self.map.ClearLayers()
156          self.assertEquals(self.map.Layers(), [])          self.assertEquals(self.map.Layers(), [])
157          self.assertEquals(self.map.LabelLayer().Labels(), [])          self.assertEquals(self.map.LabelLayer().Labels(), [])
158          self.check_messages([(LAYERS_CHANGED,),          self.check_messages([(MAP_LAYERS_CHANGED,),
159                               (self.map, LAYERS_CHANGED)])                               (self.map, MAP_LAYERS_CHANGED),
160                                 (self.map, MAP_LAYERS_REMOVED)])
161          self.assert_(self.map.WasModified())          self.assert_(self.map.WasModified())
162          self.failIf(self.map.HasLayers())          self.failIf(self.map.HasLayers())
163    
# Line 142  class TestMapWithContents(TestMapBase, s Line 165  class TestMapWithContents(TestMapBase, s
165          """Test Map.RaiseLayer"""          """Test Map.RaiseLayer"""
166          self.map.RaiseLayer(self.arc_layer)          self.map.RaiseLayer(self.arc_layer)
167          self.assertEquals(self.map.Layers(), [self.poly_layer, self.arc_layer])          self.assertEquals(self.map.Layers(), [self.poly_layer, self.arc_layer])
168          self.check_messages([(self.map, LAYERS_CHANGED)])          self.check_messages([(self.map, MAP_LAYERS_CHANGED),
169                                 (self.map, MAP_STACKING_CHANGED)])
170          self.assert_(self.map.WasModified())          self.assert_(self.map.WasModified())
171    
172      def test_raise_highest_layer(self):      def test_raise_highest_layer(self):
# Line 160  class TestMapWithContents(TestMapBase, s Line 184  class TestMapWithContents(TestMapBase, s
184          """Test Map.LowerLayer"""          """Test Map.LowerLayer"""
185          self.map.LowerLayer(self.poly_layer)          self.map.LowerLayer(self.poly_layer)
186          self.assertEquals(self.map.Layers(), [self.poly_layer, self.arc_layer])          self.assertEquals(self.map.Layers(), [self.poly_layer, self.arc_layer])
187          self.check_messages([(self.map, LAYERS_CHANGED)])          self.check_messages([(self.map, MAP_LAYERS_CHANGED),
188                                 (self.map, MAP_STACKING_CHANGED)])
189          self.assert_(self.map.WasModified())          self.assert_(self.map.WasModified())
190    
191      def test_lower_lowest_layer(self):      def test_lower_lowest_layer(self):
# Line 234  class TestMapWithContents(TestMapBase, s Line 259  class TestMapWithContents(TestMapBase, s
259          self.map.UnsetModified()          self.map.UnsetModified()
260          self.failIf(self.map.WasModified())          self.failIf(self.map.WasModified())
261          self.failIf(self.poly_layer.WasModified())          self.failIf(self.poly_layer.WasModified())
262          self.check_messages([(self.poly_layer, LAYER_LEGEND_CHANGED),          self.check_messages([(self.poly_layer, LAYER_CHANGED),
263                               (CHANGED,)                               (CHANGED,)])
                              ])  
264    
265  if __name__ == "__main__":  if __name__ == "__main__":
266      unittest.main()      support.run_tests()
267    

Legend:
Removed from v.409  
changed lines
  Added in v.723

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26