def test_MatchesReturnsTrueForSimpleMatch(self): style = QgsConditionalStyle("@value > 10") context = QgsExpressionContextUtils.createFeatureBasedContext( QgsFeature(), QgsFields()) assert style.matches(20, context)
def testQgsConditionalStyle(self): b = QgsConditionalStyle('@value > 20') self.assertEqual(b.__repr__(), "<QgsConditionalStyle: @value > 20>") b.setName('test name') self.assertEqual(b.__repr__(), "<QgsConditionalStyle: 'test name' (@value > 20)>")
def test_MatchesTrueForFields(self): style = QgsConditionalStyle('"testfield" = @value') context = self.new_context() assert style.matches(20, context)
def testEditorWidget(self): c = QgsConditionalStyle() c.setName('') w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle(), c) w.setRule('my rule') self.assertEqual(w.currentStyle().rule(), 'my rule') c.setName('n') w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle(), c) c.setRule('1=1') w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle(), c) c.setBackgroundColor(QColor(255, 0, 0)) w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle(), c) c.setTextColor(QColor(0, 255, 0)) w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle(), c) c.setSymbol(QgsMarkerSymbol.createSimple({})) w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle(), c) f = getTestFont() c.setFont(f) w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle().font(), c.font()) f.setBold(True) c.setFont(f) w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle().font().bold(), True) f.setItalic(True) c.setFont(f) w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle().font().italic(), True) f.setStrikeOut(True) c.setFont(f) w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle().font().strikeOut(), True) f.setUnderline(True) c.setFont(f) w = QgsEditConditionalFormatRuleWidget() w.loadStyle(c) self.assertEqual(w.currentStyle().font().underline(), True)
def test_MatchesReturnsTrueForComplexMatch(self): style = QgsConditionalStyle("@value > 10 and @value = 20") assert style.matches(20)
def test_MatchesReturnsTrueForSimpleMatch(self): style = QgsConditionalStyle("@value > 10") assert style.matches(20)
def test_MatchesReturnsTrueForComplexMatch(self): style = QgsConditionalStyle("@value > 10 and @value = 20") context = QgsExpressionContextUtils.createFeatureBasedContext( QgsFeature(), QgsFields()) self.assertTrue(style.matches(20, context))
def testLayerStyles(self): styles = QgsConditionalLayerStyles() self.assertFalse(styles.rowStyles()) self.assertFalse(styles.fieldStyles('test')) spy = QSignalSpy(styles.changed) styles.setRowStyles([ QgsConditionalStyle("@value > 10"), QgsConditionalStyle("@value > 20") ]) self.assertEqual(len(spy), 1) self.assertEqual(styles.rowStyles(), [ QgsConditionalStyle("@value > 10"), QgsConditionalStyle("@value > 20") ]) styles.setRowStyles(styles.rowStyles()) self.assertEqual(len(spy), 1) styles.setFieldStyles('test', [ QgsConditionalStyle("@value > 30"), QgsConditionalStyle("@value > 40") ]) self.assertEqual(len(spy), 2) self.assertEqual(styles.fieldStyles('test'), [ QgsConditionalStyle("@value > 30"), QgsConditionalStyle("@value > 40") ]) styles.setFieldStyles('test', styles.fieldStyles('test')) self.assertEqual(len(spy), 2) self.assertFalse(styles.fieldStyles('test2')) styles.setFieldStyles('test2', [QgsConditionalStyle("@value > 50")]) self.assertEqual(len(spy), 3) self.assertEqual(styles.fieldStyles('test'), [ QgsConditionalStyle("@value > 30"), QgsConditionalStyle("@value > 40") ]) self.assertEqual(styles.fieldStyles('test2'), [QgsConditionalStyle("@value > 50")])