class ImpactCalculatorTest(unittest.TestCase): """Test the InaSAFE plugin stub""" def setUp(self): """Create shared resources that all tests can use""" self.calculator = ImpactCalculator() self.vectorPath = os.path.join(TESTDATA, 'Padang_WGS84.shp') self.rasterShakePath = os.path.join(HAZDATA, 'Shakemap_Padang_2009.asc') # UTM projected layer fn = 'tsunami_max_inundation_depth_BB_utm.asc' self.rasterTsunamiBBPath = os.path.join(TESTDATA, fn) self.rasterExposureBBPath = os.path.join(TESTDATA, 'tsunami_building_' 'exposure.shp') self.rasterPopulationPath = os.path.join(EXPDATA, 'glp10ag.asc') self.calculator.setHazardLayer(self.rasterShakePath) self.calculator.setExposureLayer(self.vectorPath) self.calculator.setFunction('Earthquake Guidelines Function') def tearDown(self): """Tear down - destroy the QGIS app""" pass def test_properties(self): """Test if the properties work as expected.""" myMessage = 'Vector property incorrect.' assert (self.calculator.exposureLayer() == self.vectorPath), myMessage myMessage = 'Raster property incorrect.' assert (self.calculator.hazardLayer() == self.rasterShakePath), myMessage myMessage = 'Function property incorrect.' assert (self.calculator.function() == 'Earthquake Guidelines Function'), myMessage def test_run(self): """Test that run works as expected in non threading mode""" try: myRunner = self.calculator.getRunner() # run non threaded myRunner.run() myMessage = myRunner.result() myImpactLayer = myRunner.impactLayer() myFilename = myImpactLayer.get_filename() assert(myFilename and not myFilename == '') assert(myMessage and not myMessage == '') except Exception, e: # pylint: disable=W0703 myMessage = 'Calculator run failed. %s' % str(e) assert(), myMessage
class ImpactCalculatorTest(unittest.TestCase): """Test the InaSAFE plugin stub""" def setUp(self): """Create shared resources that all tests can use""" self.calculator = ImpactCalculator() self.vectorPath = os.path.join(TESTDATA, 'Padang_WGS84.shp') self.rasterShakePath = os.path.join(HAZDATA, 'Shakemap_Padang_2009.asc') # UTM projected layer fn = 'tsunami_max_inundation_depth_BB_utm.asc' self.rasterTsunamiBBPath = os.path.join(TESTDATA, fn) self.rasterExposureBBPath = os.path.join( TESTDATA, 'tsunami_building_' 'exposure.shp') self.rasterPopulationPath = os.path.join(EXPDATA, 'glp10ag.asc') self.calculator.setHazardLayer(self.rasterShakePath) self.calculator.setExposureLayer(self.vectorPath) self.calculator.setFunction('Earthquake Guidelines Function') def tearDown(self): """Tear down - destroy the QGIS app""" pass def test_properties(self): """Test if the properties work as expected.""" myMessage = 'Vector property incorrect.' assert (self.calculator.exposureLayer() == self.vectorPath), myMessage myMessage = 'Raster property incorrect.' assert ( self.calculator.hazardLayer() == self.rasterShakePath), myMessage myMessage = 'Function property incorrect.' assert (self.calculator.function() == 'Earthquake Guidelines Function' ), myMessage def test_run(self): """Test that run works as expected in non threading mode""" try: myRunner = self.calculator.getRunner() # run non threaded myRunner.run() myMessage = myRunner.result() myImpactLayer = myRunner.impactLayer() myFilename = myImpactLayer.get_filename() assert (myFilename and not myFilename == '') assert (myMessage and not myMessage == '') except Exception, e: # pylint: disable=W0703 myMessage = 'Calculator run failed. %s' % str(e) assert (), myMessage
def setUp(self): """Create shared resources that all tests can use""" self.calculator = ImpactCalculator() self.vectorPath = os.path.join(TESTDATA, 'Padang_WGS84.shp') self.rasterShakePath = os.path.join(HAZDATA, 'Shakemap_Padang_2009.asc') # UTM projected layer fn = 'tsunami_max_inundation_depth_BB_utm.asc' self.rasterTsunamiBBPath = os.path.join(TESTDATA, fn) self.rasterExposureBBPath = os.path.join( TESTDATA, 'tsunami_building_exposure.shp') self.rasterPopulationPath = os.path.join(EXPDATA, 'glp10ag.asc') self.calculator.setHazardLayer(self.rasterShakePath) self.calculator.setExposureLayer(self.vectorPath) self.calculator.setFunction('Earthquake Guidelines Function')