コード例 #1
0
 def test_MatchesReturnsTrueForSimpleMatch(self):
     style = QgsConditionalStyle("@value > 10")
     context = QgsExpressionContextUtils.createFeatureBasedContext(
         QgsFeature(), QgsFields())
     assert style.matches(20, context)
コード例 #2
0
 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)>")
コード例 #3
0
 def test_MatchesTrueForFields(self):
     style = QgsConditionalStyle('"testfield" = @value')
     context = self.new_context()
     assert style.matches(20, context)
コード例 #4
0
    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)
コード例 #5
0
 def test_MatchesReturnsTrueForComplexMatch(self):
     style = QgsConditionalStyle("@value > 10 and @value = 20")
     assert style.matches(20)
コード例 #6
0
 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")])