コード例 #1
0
    def testFilter(self):
        """ test calculating aggregate with filter """

        layer = QgsVectorLayer("Point?field=fldint:integer", "layer", "memory")
        pr = layer.dataProvider()

        int_values = [4, 2, 3, 2, 5, None, 8]

        features = []
        for v in int_values:
            f = QgsFeature()
            f.setFields(layer.fields())
            f.setAttributes([v])
            features.append(f)
        assert pr.addFeatures(features)

        agg = QgsAggregateCalculator(layer)

        filter_string = "fldint > 2"
        agg.setFilter(filter_string)
        self.assertEqual(agg.filter(), filter_string)

        val, ok = agg.calculate(QgsAggregateCalculator.Sum, 'fldint')
        self.assertTrue(ok)
        self.assertEqual(val, 20)

        # remove filter and retest
        agg.setFilter(None)
        val, ok = agg.calculate(QgsAggregateCalculator.Sum, 'fldint')
        self.assertTrue(ok)
        self.assertEqual(val, 24)
コード例 #2
0
    def testFilter(self):
        """ test calculating aggregate with filter """

        layer = QgsVectorLayer("Point?field=fldint:integer", "layer", "memory")
        pr = layer.dataProvider()

        int_values = [4, 2, 3, 2, 5, None, 8]

        features = []
        for v in int_values:
            f = QgsFeature()
            f.setFields(layer.fields())
            f.setAttributes([v])
            features.append(f)
        assert pr.addFeatures(features)

        agg = QgsAggregateCalculator(layer)

        filter_string = "fldint > 2"
        agg.setFilter(filter_string)
        self.assertEqual(agg.filter(), filter_string)

        val, ok = agg.calculate(QgsAggregateCalculator.Sum, 'fldint')
        self.assertTrue(ok)
        self.assertEqual(val, 20)

        # remove filter and retest
        agg.setFilter(None)
        val, ok = agg.calculate(QgsAggregateCalculator.Sum, 'fldint')
        self.assertTrue(ok)
        self.assertEqual(val, 24)
コード例 #3
0
 def testParameters(self):
     """ Test setting parameters"""
     a = QgsAggregateCalculator(None)
     params = QgsAggregateCalculator.AggregateParameters()
     params.filter = 'string filter'
     params.delimiter = 'delim'
     a.setParameters(params)
     self.assertEqual(a.filter(), 'string filter')
     self.assertEqual(a.delimiter(), 'delim')
コード例 #4
0
 def testParameters(self):
     """ Test setting parameters"""
     a = QgsAggregateCalculator(None)
     params = QgsAggregateCalculator.AggregateParameters()
     params.filter = 'string filter'
     params.delimiter = 'delim'
     a.setParameters(params)
     self.assertEqual(a.filter(), 'string filter')
     self.assertEqual(a.delimiter(), 'delim')
コード例 #5
0
 def testParameters(self):
     """ Test setting parameters"""
     a = QgsAggregateCalculator(None)
     params = QgsAggregateCalculator.AggregateParameters()
     params.filter = "string filter"
     params.delimiter = "delim"
     a.setParameters(params)
     self.assertEqual(a.filter(), "string filter")
     self.assertEqual(a.delimiter(), "delim")