/[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 1928 by bh, Mon Nov 10 16:57:43 2003 UTC revision 2562 by jonathan, Wed Feb 16 21:14:47 2005 UTC
# Line 32  import Thuban.Model.resource Line 32  import Thuban.Model.resource
32  from Thuban.UI.baserenderer import BaseRenderer, \  from Thuban.UI.baserenderer import BaseRenderer, \
33       add_renderer_extension, init_renderer_extensions       add_renderer_extension, init_renderer_extensions
34    
35    from Thuban.version import versions
36    
37  class MockDC:  class MockDC:
38    
# Line 89  class SimpleRenderer(BaseRenderer): Line 90  class SimpleRenderer(BaseRenderer):
90      def label_font(self):      def label_font(self):
91          return "label font"          return "label font"
92    
93      def draw_raster_data(self, data, format='BMP'):      def draw_raster_data(self, x, y, data, format='BMP'):
94          self.raster_data = data          self.raster_data = data
95          self.raster_format = format          self.raster_format = format
96    
# Line 287  class TestBaseRenderer(unittest.TestCase Line 288  class TestBaseRenderer(unittest.TestCase
288    
289          # The following commented out code block can be used to generate          # The following commented out code block can be used to generate
290          # the base64 coded reference image data          # the base64 coded reference image data
291          #hexed = binascii.b2a_base64(renderer.raster_data)          #hexed = binascii.b2a_base64(renderer.raster_data[2][0])
292          #while hexed:          #while hexed:
293          #    print repr(hexed[:65])              #print repr(hexed[:65])
294          #    hexed = hexed[65:]              #hexed = hexed[65:]
295    
296          # The reference data as a base64 coded BMP image          # The reference data as a base64 coded RAW image
297          raw_data = binascii.a2b_base64(          raw_data = binascii.a2b_base64(
298              'Qk3GBQAAAAAAADYEAAAoAAAAFAAAABQAAAABAAgAAAAAAJABAAAAAAAAAAAAAAABA'              'UmbmUmbmUmbmUmbmUmbmAtYCJooCAtICAq4CJooCArICAuICArICAuYCAs4COn4CO'
299              'AAAAAAAApYOAALGAgAGfjoAHmZyACZ2egAujo4AArICAE66GgACngIA5mZSAJqONg'              'n4CAq4CAuICFpICUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmAuYCAqICAqoCAqoCFp'
300              'ACzgIAAoIyABZqZgAO4uYAAtICAAKqAgAScloAAtYCADKepgAS2t4AAooiAALaAgA'              'ICJooCIo4CCpoCQnoGOn4CDpYCOn4CUmbmUmbmNo6aEpYCLoYCAqICGpICFpICUmb'
301              'CtgIAHsbOAAp2TgACogIAFtbaACqOigAidnoAAuICADKaogACfjoAAr4CAAKSFgAm'              'mAt4CUmbmNo6aAtICArYCAqoCKoYCMoICTnYKOn4CFpICUmbmUmbmUmbmUmbmAp4C'
302              'fnoAAo4eABrS1gAibnoAHsbKAAp6SgACmg4AGs7SACLCxgAqioIAAoYqAAZ6RgACm'              'NoICArYCAr4CCpoCAqYCCpoCEpYCHo4CFpICHo4CGpICFpICKoYCTnYKMoICAp4CU'
303              'goAKrK6AALmAgAC3gIAApIaABZqagACngYAAo4iAAKmAgAivsYAJoJ6AALCAgACyg'              'mbmUmbmUmbmUmbmUmbmUmbmAtYCAroCArYCCpoCAtYCAroCAtICAsYCUmbmAt4CAq'
304              'IAAq4CAAKWEgAOclYALpqeAAK6AgACgjYAEm5eAAKKKgAGekIAHmp6ABpmcgAChi4'              'YCAroCMoICAs4CAs4CAtYCAt4CAqYCUmbmUmbmUmbmUmbmAtoCAtYCAq4CAtoCBp4'
305              'ALpaaACJyegAClhYAEnJeAAZ+QgAqhoIADnZSAB5mdgACiiYAJnp6ACqGegAqrrYA'              'CAroCAqoCAq4CAr4CDpYCGpICAt4CAsICDpYCArICCpoCHo4CAs4CAuICUmbmUmbm'
306              'GmpuAB5megACkh4ALqqyAA52VgAulpYAAoI6AAZ+PgASbmIALpKWAA7m5gAWbmYAG'              'UmbmUmbmUmbmUmbmAuICAqICFpYCAq4CDpoCAqYCFpICAqYCUmbmNo6aAsYCCpoCD'
307              'mpyAC6SjgAqioYADnZOAA7q6gAianoALqauABpqagAqgnoAEnJWAAp6RgAWbmIACu'              'pYCAqICAtoCUmbmAt4CAqoCCpoCAroCHo4CAsYCAq4CAsICAs4CAp4CUmbmAtYCAq'
308              '7uACqGfgAqiooAMqauAAby8gAmusIAMp6qAC6WngAyoqoABvb2AC6SkgAS3uIAJra'              'YCIooCHo4CAsICAr4CAqICEpYCAs4CAqICArICDpYCEpYCEpYCAr4CUmbmEpYCAs4'
309              '+AB7KzgAynqIALq62ADKirgAC+voAGsrSABLi4gAG8vYADubqAC6qtgAuprIABvb6'              'CAtICAs4CAqYCUmbmAtoCAp4CCpoCDpYCAq4CArICAqoCAqYCAqYCAtYCAtoCDpYC'
310              'ACLCygAW2t4AKra+AAru8gAS4uYACuruAAry8gAG+voAAEBAAFhkZABAQEAABp6fA'              'At4CUmbmUmbmUmbmUmbmAt4CAsoCAsoCAp4CAp4CCpoCAsoCAt4CNo6aUmbmUmbmU'
311              'EBACAAAgPwAAPu/AJE9CgBACAAALj1BAEAICAAGPAAAQAgAAAY8+gBACL8AJTxXAA'              'mbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmAt4CAtYCCpoCAqICAroCAr4CUmbmUm'
312              'gIQAAAPEAAAAgIAAY8QABACAgAAGQAAABAAAAALpoAAEBAAAAALgAAAEAABkAGAEA'              'bmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmb'
313              'IQAD2AEAAvwAIAJAu2ABAQEAALmQ5AEBAQAAAnp8AAEAIAAD4+gAAv78An5rDAEBA'              'mUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbm'
314              'QAAuhAcAQEBAAAb8AABAvwAAAGQKAABAAABpLksAQEAIAC4ACwBAAAAAAPkGAAC/Q'              'UmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmU'
315              'AD2APoAvwC/AJ0umgBAQEAAAGRkAABAQAAGnp8AQEAIAPcA/AC/AL8A7D0GAEAIQA'              'mbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUm'
316              'D4hAAAv0AAAAD8QAAAvwgA92T6AL9AvwDsLlcAQEBAAC4AQABAAAgA+EAAAL8IAAA'              'bmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmb'
317              '8AAAACAAAAJ8uVgBAQEAAAGQ5AABAQAAAnpcAAEBAAPYAQAC/AAgAnQsGAEAAQAAA'              'mUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbm'
318              'hG0AAEBAAB38PQAIv0AA9mT6AL9AvwAJLmwAZUBAAB0AQAAIAAgAHUAAAAgIAAAAA'              'UmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmU'
319              'AAAAAAAAACzbAAAQEAA//k5AH+/QAAGb5cAQEBAAACy5AAAQAgAAIpAAABACAAAAA'              'mbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUm'
320              'AAAAAAAAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk'              'bmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmb'
321              'JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJ'              'mUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbm'
322              'CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJC'              'UmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbmUmbm\n')
323              'QkJCQkJCQkJCQkJCQkJCQkJCQkyEi8aQCEJCQkJCQkJCQkJCQkJCTI7OwgILzsyCg'  
324              'kJCQkJCQkJCQkJCzcJFggvADwGEDc3EhYAMgkJCQkJEjcVJDohGj0LGgYAPT0hCT0'          #print
325              'LDyI3CQoBLwAaFgkyEC9AJAE8OgsIMjoABi8kCx4JCQkJCQkeGko8KTcLCxIyNwkJ'          #hexed = binascii.b2a_base64(renderer.raster_data[2][1])
326              'CQkWEjwWNUAQPCEAMwgJCQkJCQkSQBcvEkAPAQkyN0AMCQkJCQhBFyEvNy89JCIkM'          #while hexed:
327              'yItGQwJCQo9RxozIgkyCQoPFxAtDBkgIgkJCQkJCQkJMRoQECJQNi9EIAAgCQkJCQ'              #print repr(hexed[:61])
328              'kSUA88UAYeBjELICA8HiI=\n')              #hexed = hexed[61:]
329          self.assertEquals(renderer.raster_data, raw_data)  
330          self.assertEquals(renderer.raster_format, "BMP")  
331            if versions['wxPython-tuple'] < (2,5,3):
332                raw_mask = binascii.a2b_base64(
333                    'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
334                    'AAAAAAAAAAAAAAAAAAA\n')
335            else:
336                raw_mask = binascii.a2b_base64(
337                    '//8P//8P//8P//8P//8P//8P//8P//8P//8P//8P//8P//8P//8P//8P//8P/'
338                    '/8P//8P//8P//8P//8P\n')
339    
340            self.assertEquals(renderer.raster_data,
341                              (20,20,(raw_data, raw_mask, None)))
342    
343            self.assertEquals(renderer.raster_format, "RAW")
344    
345          self.assertEquals(dc.calls,          self.assertEquals(dc.calls,
346                            [('BeginDrawing',),                            [('BeginDrawing',),
347                             ('SetFont', "label font"),                             ('SetFont', "label font"),
348                             ('EndDrawing',)])                             ('EndDrawing',)])
349    
350            if versions['wxPython-tuple'] >= (2,5,3):
351                layer.SetMaskType(layer.MASK_ALPHA)
352                renderer.render_map()
353    
354                #print
355                #hexed = binascii.b2a_base64(renderer.raster_data[2][2])
356                #while hexed:
357                    #print repr(hexed[:61])
358                    #hexed = hexed[61:]
359                raw_alpha = binascii.a2b_base64(
360                    '/////////////////////////////////////////////////////////////'
361                    '/////////////////////////////////////////////////////////////'
362                    '/////////////////////////////////////////////////////////////'
363                    '/////////////////////////////////////////////////////////////'
364                    '/////////////////////////////////////////////////////////////'
365                    '/////////////////////////////////////////////////////////////'
366                    '/////////////////////////////////////////////////////////////'
367                    '/////////////////////////////////////////////////////////////'
368                    '/////////////////////////////////////////////w==\n')
369                self.assertEquals(renderer.raster_data,
370                                  (20,20,(raw_data, None, raw_alpha)))
371    
372    
373            layer.SetMaskType(layer.MASK_NONE)
374            renderer.render_map()
375            self.assertEquals(renderer.raster_data, (20,20,(raw_data, None, None)))
376    
377      def test_point_map_projection(self):      def test_point_map_projection(self):
378          """Test BaseRenderer with point layer and map projection"""          """Test BaseRenderer with point layer and map projection"""
379          table = MemoryTable([("type", FIELDTYPE_STRING),          table = MemoryTable([("type", FIELDTYPE_STRING),

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26