Add unit tests

This commit is contained in:
Blottiere Paul 2018-03-27 09:14:18 +01:00
parent 2cb1f43342
commit dd6f98fe24

View File

@ -40,7 +40,8 @@ from qgis.core import (QgsVectorLayer,
QgsRendererCategory,
QgsCategorizedSymbolRenderer,
QgsGraduatedSymbolRenderer,
QgsRendererRange
QgsRendererRange,
QgsRenderContext
)
from qgis.testing import start_app, unittest
from utilities import unitTestDataPath
@ -101,6 +102,27 @@ class TestQgsRulebasedRenderer(unittest.TestCase):
assert result
def testWillRenderFeature(self):
vl = self.mapsettings.layers()[0]
ft = vl.getFeature(0) # 'id' = 1
renderer = vl.renderer()
ctx = QgsRenderContext.fromMapSettings(self.mapsettings)
ctx.expressionContext().setFeature(ft)
renderer.rootRule().children()[0].setActive(False)
renderer.rootRule().children()[1].setActive(True)
renderer.rootRule().children()[2].setActive(True)
renderer.startRender(ctx, vl.fields()) # build mActiveChlidren
rendered = renderer.willRenderFeature(ft, ctx)
renderer.rootRule().children()[0].setActive(True)
assert rendered == False
rendered = renderer.willRenderFeature(ft, ctx)
assert rendered == True
def testRefineWithCategories(self):
# Test refining rule with categories (refs #10815)