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

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

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

revision 1591 by bh, Fri Aug 15 14:00:53 2003 UTC revision 1928 by bh, Mon Nov 10 16:57:43 2003 UTC
# Line 22  support.initthuban() Line 22  support.initthuban()
22  from Thuban.Model.color import Transparent, Color  from Thuban.Model.color import Transparent, Color
23  from Thuban.Model.data import SHAPETYPE_ARC, SHAPETYPE_POLYGON, SHAPETYPE_POINT  from Thuban.Model.data import SHAPETYPE_ARC, SHAPETYPE_POLYGON, SHAPETYPE_POINT
24  from Thuban.Model.map import Map  from Thuban.Model.map import Map
25  from Thuban.Model.layer import Layer, RasterLayer  from Thuban.Model.layer import BaseLayer, Layer, RasterLayer
26  from Thuban.Model.table import MemoryTable, \  from Thuban.Model.table import MemoryTable, \
27       FIELDTYPE_DOUBLE, FIELDTYPE_INT, FIELDTYPE_STRING       FIELDTYPE_DOUBLE, FIELDTYPE_INT, FIELDTYPE_STRING
28  from Thuban.Model.classification import ClassGroupSingleton  from Thuban.Model.classification import ClassGroupSingleton
29  import Thuban.Model.resource  import Thuban.Model.resource
30    
31    
32  from Thuban.UI.baserenderer import BaseRenderer  from Thuban.UI.baserenderer import BaseRenderer, \
33         add_renderer_extension, init_renderer_extensions
34    
35    
36  class MockDC:  class MockDC:
# Line 88  class SimpleRenderer(BaseRenderer): Line 89  class SimpleRenderer(BaseRenderer):
89      def label_font(self):      def label_font(self):
90          return "label font"          return "label font"
91    
92      def draw_raster_data(self, data):      def draw_raster_data(self, data, format='BMP'):
93          self.raster_data = data          self.raster_data = data
94            self.raster_format = format
95    
96    
97  class MockProjection:  class MockProjection:
# Line 137  class TestBaseRenderer(unittest.TestCase Line 139  class TestBaseRenderer(unittest.TestCase
139          map.AddLayer(layer)          map.AddLayer(layer)
140    
141          dc = MockDC()          dc = MockDC()
142          renderer = SimpleRenderer(dc, 2, (10, 10))          renderer = SimpleRenderer(dc, map, 2, (10, 10))
143    
144          renderer.render_map(map)          renderer.render_map()
145    
146          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
147                            [('BeginDrawing',),                            [('BeginDrawing',),
# Line 167  class TestBaseRenderer(unittest.TestCase Line 169  class TestBaseRenderer(unittest.TestCase
169          self.to_destroy.append(map)          self.to_destroy.append(map)
170    
171          dc = MockDC()          dc = MockDC()
172          renderer = SimpleRenderer(dc, 2, (10, 10))          renderer = SimpleRenderer(dc, map, 2, (10, 10))
173    
174          renderer.render_map(map)          renderer.render_map()
175    
176          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
177                            [('BeginDrawing',),                            [('BeginDrawing',),
# Line 206  class TestBaseRenderer(unittest.TestCase Line 208  class TestBaseRenderer(unittest.TestCase
208          self.to_destroy.append(map)          self.to_destroy.append(map)
209    
210          dc = MockDC()          dc = MockDC()
211          renderer = SimpleRenderer(dc, 2, (10, 10))          renderer = SimpleRenderer(dc, map, 2, (10, 10))
212    
213          renderer.render_map(map)          renderer.render_map()
214    
215          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
216                            [('BeginDrawing',),                            [('BeginDrawing',),
# Line 245  class TestBaseRenderer(unittest.TestCase Line 247  class TestBaseRenderer(unittest.TestCase
247          self.to_destroy.append(map)          self.to_destroy.append(map)
248    
249          dc = MockDC()          dc = MockDC()
250          renderer = SimpleRenderer(dc, 2, (10, 10))          renderer = SimpleRenderer(dc, map, 2, (10, 10))
251    
252          renderer.render_map(map)          renderer.render_map()
253    
254          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
255                            [('BeginDrawing',),                            [('BeginDrawing',),
# Line 279  class TestBaseRenderer(unittest.TestCase Line 281  class TestBaseRenderer(unittest.TestCase
281          self.to_destroy.append(map)          self.to_destroy.append(map)
282    
283          dc = MockDC(size = (20, 20))          dc = MockDC(size = (20, 20))
284          renderer = SimpleRenderer(dc, 34, (800, 2250))          renderer = SimpleRenderer(dc, map, 34, (800, 2250))
285    
286          renderer.render_map(map)          renderer.render_map()
287    
288          # The following commented out code block can be used to generate          # The following commented out code block can be used to generate
289          # the base64 coded reference image data          # the base64 coded reference image data
# Line 324  class TestBaseRenderer(unittest.TestCase Line 326  class TestBaseRenderer(unittest.TestCase
326              'yItGQwJCQo9RxozIgkyCQoPFxAtDBkgIgkJCQkJCQkJMRoQECJQNi9EIAAgCQkJCQ'              'yItGQwJCQo9RxozIgkyCQoPFxAtDBkgIgkJCQkJCQkJMRoQECJQNi9EIAAgCQkJCQ'
327              'kSUA88UAYeBjELICA8HiI=\n')              'kSUA88UAYeBjELICA8HiI=\n')
328          self.assertEquals(renderer.raster_data, raw_data)          self.assertEquals(renderer.raster_data, raw_data)
329            self.assertEquals(renderer.raster_format, "BMP")
330    
331          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
332                            [('BeginDrawing',),                            [('BeginDrawing',),
# Line 346  class TestBaseRenderer(unittest.TestCase Line 349  class TestBaseRenderer(unittest.TestCase
349          self.to_destroy.append(map)          self.to_destroy.append(map)
350    
351          dc = MockDC()          dc = MockDC()
352          renderer = SimpleRenderer(dc, 2, (10, 10))          renderer = SimpleRenderer(dc, map, 2, (10, 10))
353    
354          renderer.render_map(map)          renderer.render_map()
355    
356          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
357                            [('BeginDrawing',),                            [('BeginDrawing',),
# Line 374  class TestBaseRenderer(unittest.TestCase Line 377  class TestBaseRenderer(unittest.TestCase
377          self.to_destroy.append(map)          self.to_destroy.append(map)
378    
379          dc = MockDC()          dc = MockDC()
380          renderer = SimpleRenderer(dc, 2, (10, 10))          renderer = SimpleRenderer(dc, map, 2, (10, 10))
381    
382          renderer.render_map(map)          renderer.render_map()
383    
384          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
385                            [('BeginDrawing',),                            [('BeginDrawing',),
# Line 403  class TestBaseRenderer(unittest.TestCase Line 406  class TestBaseRenderer(unittest.TestCase
406          self.to_destroy.append(map)          self.to_destroy.append(map)
407    
408          dc = MockDC()          dc = MockDC()
409          renderer = SimpleRenderer(dc, 2, (10, 10))          renderer = SimpleRenderer(dc, map, 2, (10, 10))
410    
411          renderer.render_map(map)          renderer.render_map()
412    
413          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
414                            [('BeginDrawing',),                            [('BeginDrawing',),
# Line 437  class TestBaseRenderer(unittest.TestCase Line 440  class TestBaseRenderer(unittest.TestCase
440          self.to_destroy.append(map)          self.to_destroy.append(map)
441    
442          dc = MockDC()          dc = MockDC()
443          renderer = SimpleRenderer(dc, 2, (10, 10))          renderer = SimpleRenderer(dc, map, 2, (10, 10))
444    
445          renderer.render_map(map)          renderer.render_map()
446    
447          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
448                            [('BeginDrawing',),                            [('BeginDrawing',),
# Line 453  class TestBaseRenderer(unittest.TestCase Line 456  class TestBaseRenderer(unittest.TestCase
456                             ('EndDrawing',)])                             ('EndDrawing',)])
457    
458    
459        def test_renderer_extension(self):
460            """Test renderer with a renderer extension"""
461            class MyLayer(BaseLayer):
462                pass
463    
464            calls = []
465            def my_renderer(renderer, layer):
466                calls.append((renderer, layer))
467                return ()
468    
469            add_renderer_extension(MyLayer, my_renderer)
470    
471            try:
472                map = Map("test_renderer_extension")
473                layer = MyLayer("my layer")
474                map.AddLayer(layer)
475                self.to_destroy.append(map)
476    
477                dc = MockDC()
478                renderer = SimpleRenderer(dc, map, 2, (10, 10))
479                renderer.render_map()
480            finally:
481                init_renderer_extensions()
482    
483            self.assertEquals(calls, [(renderer, layer)])
484    
485    
486  if __name__ == "__main__":  if __name__ == "__main__":
487      support.run_tests()      support.run_tests()

Legend:
Removed from v.1591  
changed lines
  Added in v.1928

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26