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

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

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

revision 2229 by bh, Thu Jun 3 15:18:07 2004 UTC revision 2562 by jonathan, Wed Feb 16 21:14:47 2005 UTC
# Line 33  from Thuban.Model.proj import Projection Line 33  from Thuban.Model.proj import Projection
33  from Thuban.Model.data import DerivedShapeStore  from Thuban.Model.data import DerivedShapeStore
34  from Thuban.Model.classification import Classification, ClassGroupSingleton, \  from Thuban.Model.classification import Classification, ClassGroupSingleton, \
35       ClassGroupRange       ClassGroupRange
36    from Thuban.Model.color import Color
37    
38  import Thuban.Model.resource  import Thuban.Model.resource
39    
# Line 190  class TestLayer(unittest.TestCase, suppo Line 191  class TestLayer(unittest.TestCase, suppo
191          self.assertFloatSeqEqual(layer.ShapesBoundingBox([0]),          self.assertFloatSeqEqual(layer.ShapesBoundingBox([0]),
192                                   (90.0, -8.90043373, 120, 11.1616263))                                   (90.0, -8.90043373, 120, 11.1616263))
193    
194            self.assertFloatSeqEqual(layer.ClipBoundingBox((-180, -6, 100, +120)),
195                                     (90.0, -6, 100, 11.1616263))
196            shapes = layer.ShapesInRegion((-180, -170, 200, +120))
197            self.assertEquals([s.ShapeID() for s in shapes],[0])
198    
199      def test_empty_layer(self):      def test_empty_layer(self):
200          """Test Layer with empty shape file"""          """Test Layer with empty shape file"""
201          # create an empty shape file          # create an empty shape file
# Line 225  class TestLayer(unittest.TestCase, suppo Line 231  class TestLayer(unittest.TestCase, suppo
231          layer = RasterLayer("Test RasterLayer", filename)          layer = RasterLayer("Test RasterLayer", filename)
232          self.failIf(layer.HasClassification())          self.failIf(layer.HasClassification())
233          self.failIf(layer.HasShapes())          self.failIf(layer.HasShapes())
234            self.assertEquals(layer.MaskType(), layer.MASK_BIT)
235          self.assertEquals(layer.GetImageFilename(), os.path.abspath(filename))          self.assertEquals(layer.GetImageFilename(), os.path.abspath(filename))
236          self.assertFloatSeqEqual(layer.BoundingBox(),          self.assertFloatSeqEqual(layer.BoundingBox(),
237                                   [-24.5500000, 63.2833330,                                   [-24.5500000, 63.2833330,
# Line 233  class TestLayer(unittest.TestCase, suppo Line 240  class TestLayer(unittest.TestCase, suppo
240                                   [-24.5500000, 63.2833330,                                   [-24.5500000, 63.2833330,
241                                    -13.4916670, 66.5666670])                                    -13.4916670, 66.5666670])
242    
243            info = layer.ImageInfo()
244            self.failIf(info is None)
245            self.failUnless(info.has_key("nBands"))
246            self.failUnless(info.has_key("Size"))
247            self.failUnless(info.has_key("Driver"))
248            self.failUnless(info.has_key("BandData"))
249    
250            self.assertEquals(info["nBands"], 1)
251            self.assertEquals(info["Size"], (5002, 394))
252            self.assertEquals(info["Driver"], "GTiff")
253            self.assertEquals(info["BandData"], [(0.0, 140.0)])
254    
255      def test_derived_store(self):      def test_derived_store(self):
256          """Test layer with derived store"""          """Test layer with derived store"""
257          layer = self.layer = Layer("Test Layer",          layer = self.layer = Layer("Test Layer",
# Line 375  class TestLayerModification(unittest.Tes Line 394  class TestLayerModification(unittest.Tes
394          self.session = None          self.session = None
395          self.clear_messages()          self.clear_messages()
396    
397        def build_path(self, filename):
398            return os.path.join("..", "Data", "iceland", filename)
399    
400      def test_sanity(self):      def test_sanity(self):
401          """TestLayerModification Sanity Checks"""          """TestLayerModification Sanity Checks"""
402          # test default settings          # test default settings
# Line 427  class TestLayerModification(unittest.Tes Line 449  class TestLayerModification(unittest.Tes
449                              'Shapetype: Polygon',                              'Shapetype: Polygon',
450                              self.layer.GetClassification()]))                              self.layer.GetClassification()]))
451    
452        def test_raster_layer(self):
453            if not Thuban.Model.resource.has_gdal_support():
454                raise support.SkipTest("No gdal support")
455    
456    
457            filename = self.build_path("island.tif")
458            layer = RasterLayer("Test RasterLayer", filename)
459    
460            layer.Subscribe(LAYER_CHANGED, self.subscribe_with_params,
461                            LAYER_CHANGED)
462    
463            self.assertEquals(layer.MaskType(), layer.MASK_BIT)
464    
465            layer.SetMaskType(layer.MASK_NONE)
466            self.failIf(layer.MaskType() != layer.MASK_NONE)
467            self.check_messages([(layer, LAYER_CHANGED)])
468            self.clear_messages()
469    
470            layer.SetMaskType(layer.MASK_NONE)
471            self.failIf(layer.MaskType() != layer.MASK_NONE)
472            self.check_messages([])
473            self.clear_messages()
474    
475            layer.SetMaskType(layer.MASK_BIT)
476            self.failIf(layer.MaskType() != layer.MASK_BIT)
477            self.check_messages([(layer, LAYER_CHANGED)])
478            self.clear_messages()
479    
480            layer.SetMaskType(layer.MASK_BIT)
481            self.failIf(layer.MaskType() != layer.MASK_BIT)
482            self.check_messages([])
483            self.clear_messages()
484    
485            layer.SetMaskType(layer.MASK_ALPHA)
486            self.failIf(layer.MaskType() != layer.MASK_ALPHA)
487    
488            layer.SetAlphaOpacity(0)
489            self.assertEquals(layer.AlphaOpacity(), 0)
490            layer.SetAlphaOpacity(0.5)
491            self.assertEquals(layer.AlphaOpacity(), 0.5)
492            layer.SetAlphaOpacity(1)
493            self.assertEquals(layer.AlphaOpacity(), 1)
494    
495            self.assertRaises(ValueError, layer.SetAlphaOpacity, -0.1)
496            self.assertRaises(ValueError, layer.SetAlphaOpacity, 1.1)
497    
498            layer.SetMaskType(layer.MASK_NONE)
499            self.assertEquals(layer.AlphaOpacity(), None)
500    
501            self.assertRaises(ValueError, layer.SetMaskType, -1)
502            self.assertRaises(ValueError, layer.SetMaskType, 4)
503    
504    
505  if __name__ == "__main__":  if __name__ == "__main__":
506      support.run_tests()      support.run_tests()

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26