def test_addSymbolToLegend(self): """Test we can add a symbol to the legend.""" myLayer, _ = loadLayer('test_floodimpact.tif') myMapLegend = MapLegend(myLayer) mySymbol = QgsSymbol() mySymbol.setColor(QtGui.QColor(12, 34, 56)) myMapLegend.addSymbolToLegend(mySymbol, theMin=0, theMax=2, theCategory=None, theLabel='Foo') myPath = unique_filename(prefix='addSymblToLegend', suffix='.png', dir=temp_dir('test')) myMapLegend.getLegend().save(myPath, 'PNG') LOGGER.debug(myPath) # As we have discovered, different versions of Qt and # OS platforms cause different output, so myControlImages is a list # of 'known good' renders. myControlImages = [ 'addSymbolToLegend.png', 'addSymbolToLegend-variantWindosVistaSP2-32.png', 'addSymbolToLegend-variantUB12.04-64.png', 'addSymbolToLegend-variantUB11.04-64.png', 'addSymbolToLegend-variantJenkins.png' ] myTolerance = 0 # to allow for version number changes in disclaimer myFlag, myMessage = checkImages(myControlImages, myPath, myTolerance) myMessage += ( '\nWe want these images to match, if they do already ' 'copy the test image generated to create a new control image.') assert myFlag, myMessage
def test_addClassToLegend(self): """Test we can add a class to the map legend.""" myLayer, _ = loadLayer('test_shakeimpact.shp') myMapLegend = MapLegend(myLayer) myColour = QtGui.QColor(12, 34, 126) myMapLegend.addClassToLegend(myColour, theMin=None, theMax=None, theCategory=None, theLabel='bar') myMapLegend.addClassToLegend(myColour, theMin=None, theMax=None, theCategory=None, theLabel='foo') myPath = unique_filename(prefix='addClassToLegend', suffix='.png', dir=temp_dir('test')) myMapLegend.getLegend().save(myPath, 'PNG') LOGGER.debug(myPath) # As we have discovered, different versions of Qt and # OS platforms cause different output, so place any other possible # variants in the safe_qgis/test_data/test_images/ dir e.g. # addClassToLegend-variantUbuntu13.04.png myTolerance = 0 # to allow for version number changes in disclaimer myFlag, myMessage = checkImages('addClassToLegend.png', myPath, myTolerance) myMessage += ('\nWe want these images to match, if they do already ' 'copy the test image generated to create a new control ' 'image.') assert myFlag, myMessage
def test_addSymbolToLegend(self): """Test we can add a symbol to the legend.""" myLayer, _ = loadLayer('test_floodimpact.tif') myMapLegend = MapLegend(myLayer) mySymbol = QgsSymbol() mySymbol.setColor(QtGui.QColor(12, 34, 56)) myMapLegend.addSymbolToLegend(mySymbol, theMin=0, # expect 2.0303 in legend theMax=2.02030, theCategory=None, theLabel='Foo') myPath = unique_filename(prefix='addSymbolToLegend', suffix='.png', dir=temp_dir('test')) myMapLegend.getLegend().save(myPath, 'PNG') LOGGER.debug(myPath) # As we have discovered, different versions of Qt and # OS platforms cause different output, so myControlImages is a list # of 'known good' renders. myTolerance = 0 # to allow for version number changes in disclaimer myFlag, myMessage = checkImages('addSymbolToLegend.png', myPath, myTolerance) myMessage += ('\nWe want these images to match, if they do already ' 'copy the test image generated to create a new control ' 'image.') assert myFlag, myMessage
def test_addClassToLegend(self): """Test we can add a class to the map legend.""" myLayer, _ = loadLayer('test_shakeimpact.shp') myMapLegend = MapLegend(myLayer) myColour = QtGui.QColor(12, 34, 126) myMapLegend.addClassToLegend(myColour, theMin=None, theMax=None, theCategory=None, theLabel='bar') myMapLegend.addClassToLegend(myColour, theMin=None, theMax=None, theCategory=None, theLabel='foo') myPath = unique_filename(prefix='addClassToLegend', suffix='.png', dir=temp_dir('test')) myMapLegend.getLegend().save(myPath, 'PNG') LOGGER.debug(myPath) # As we have discovered, different versions of Qt and # OS platforms cause different output, so myControlImages is a list # of 'known good' renders. myControlImages = ['getClassToLegend.png', 'getClassToLegend-variantWindosVistaSP2-32.png', 'getClassToLegend-variantUB12.04-64.png', 'getClassToLegend-variantUB11.04-64.png', 'getClassToLegend-variantJenkins.png'] myTolerance = 0 # to allow for version number changes in disclaimer myFlag, myMessage = checkImages(myControlImages, myPath, myTolerance) myMessage += ('\nWe want these images to match, if they do already ' 'copy the test image generated to create a new control image.') assert myFlag, myMessage
def test_getLegend(self): """Getting a legend for a generic layer works.""" LOGGER.debug('test_getLegend called') myLayer, _ = loadLayer('test_shakeimpact.shp') myMapLegend = MapLegend(myLayer) assert myMapLegend.layer is not None myLegend = myMapLegend.getLegend() myPath = unique_filename(prefix='getLegend', suffix='.png', dir=temp_dir('test')) myLegend.save(myPath, 'PNG') LOGGER.debug(myPath) # As we have discovered, different versions of Qt and # OS platforms cause different output, so myControlImages is a list # of 'known good' renders. myControlImages = ['getLegend.png', 'getLegend-variantWindowsVistaSP2-32.png', 'getLegend-variantWindowsXPSP3-32.png', 'getLegend-variantOSXml.png', 'getLegend-variantUB12.04-64.png', 'getLegend-variantUB11.04-64.png', 'getLegend-variantLinuxMint-14-x86_64.png', 'getLegend-variantWindows7-SP1-AMD64.png', 'getLegend-variantJenkins.png'] myTolerance = 0 # to allow for version number changes in disclaimer myFlag, myMessage = checkImages(myControlImages, myPath, myTolerance) myMessage += ('\nWe want these images to match, if they do already ' 'copy the test image generated to create a new control ' 'image.') assert myFlag, myMessage LOGGER.debug('test_getLegend done')
def test_getLegend(self): """Getting a legend for a generic layer works.""" LOGGER.debug('test_getLegend called') myLayer, _ = loadLayer('test_shakeimpact.shp') myMapLegend = MapLegend(myLayer) assert myMapLegend.layer is not None myLegend = myMapLegend.getLegend() myPath = unique_filename(prefix='getLegend', suffix='.png', dir=temp_dir('test')) myLegend.save(myPath, 'PNG') LOGGER.debug(myPath) # As we have discovered, different versions of Qt and # OS platforms cause different output, so myControlImages is a list # of 'known good' renders. myControlImages = [ 'getLegend.png', 'getLegend-variantWindosVistaSP2-32.png', 'getClassToLegend-variantUB12.04-64.png', 'getClassToLegend-variantUB11.04-64.png', 'getLegend-variantJenkins.png' ] myTolerance = 0 # to allow for version number changes in disclaimer myFlag, myMessage = checkImages(myControlImages, myPath, myTolerance) myMessage += ( '\nWe want these images to match, if they do already ' 'copy the test image generated to create a new control image.') assert myFlag, myMessage LOGGER.debug('test_getLegend done')