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 |
|
|
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.failIf(layer.UseMask()) |
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, |
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", |
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 |
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.failIf(layer.UseMask()) |
464 |
|
|
465 |
|
layer.SetUseMask(True) |
466 |
|
self.failUnless(layer.UseMask()) |
467 |
|
self.check_messages([(layer, LAYER_CHANGED)]) |
468 |
|
self.clear_messages() |
469 |
|
|
470 |
|
layer.SetUseMask(True) |
471 |
|
self.failUnless(layer.UseMask()) |
472 |
|
self.check_messages([]) |
473 |
|
self.clear_messages() |
474 |
|
|
475 |
|
layer.SetUseMask(False) |
476 |
|
self.failIf(layer.UseMask()) |
477 |
|
self.check_messages([(layer, LAYER_CHANGED)]) |
478 |
|
self.clear_messages() |
479 |
|
|
480 |
|
layer.SetUseMask(False) |
481 |
|
self.failIf(layer.UseMask()) |
482 |
|
self.check_messages([]) |
483 |
|
self.clear_messages() |
484 |
|
|
485 |
if __name__ == "__main__": |
if __name__ == "__main__": |
486 |
support.run_tests() |
support.run_tests() |