Example #1
0
    def testGlobWidget(self):
        w = QgsFieldDomainWidget(Qgis.FieldDomainType.Glob)

        domain = w.createFieldDomain()

        self.assertIsInstance(domain, QgsGlobFieldDomain)
        self.assertEqual(domain.fieldType(), QVariant.String)
        self.assertEqual(domain.splitPolicy(),
                         Qgis.FieldDomainSplitPolicy.DefaultValue)
        self.assertEqual(domain.mergePolicy(),
                         Qgis.FieldDomainMergePolicy.DefaultValue)
        self.assertEqual(domain.glob(), '')

        # set domain and test round trips
        domain = QgsGlobFieldDomain('name', 'desc', QVariant.Int, '*a*')
        domain.setSplitPolicy(Qgis.FieldDomainSplitPolicy.GeometryRatio)
        domain.setMergePolicy(Qgis.FieldDomainMergePolicy.Sum)
        w.setFieldDomain(domain)

        domain2 = w.createFieldDomain()
        self.assertIsInstance(domain2, QgsGlobFieldDomain)
        self.assertEqual(domain2.fieldType(), QVariant.Int)
        self.assertEqual(domain2.splitPolicy(),
                         Qgis.FieldDomainSplitPolicy.GeometryRatio)
        self.assertEqual(domain2.mergePolicy(),
                         Qgis.FieldDomainMergePolicy.Sum)
        self.assertEqual(domain2.glob(), '*a*')
Example #2
0
    def testGlobFieldDomain(self):
        domain = QgsGlobFieldDomain('name', 'desc', QVariant.String, '*a*')

        self.assertEqual(str(domain), "<QgsGlobFieldDomain: name '*a*'>")

        self.assertEqual(domain.type(), Qgis.FieldDomainType.Glob)
        self.assertEqual(domain.name(), 'name')
        domain.setName('n')
        self.assertEqual(domain.name(), 'n')

        self.assertEqual(domain.description(), 'desc')
        domain.setDescription('desc 2')
        self.assertEqual(domain.description(), 'desc 2')

        self.assertEqual(domain.fieldType(), QVariant.String)
        domain.setFieldType(QVariant.Double)
        self.assertEqual(domain.fieldType(), QVariant.Double)

        self.assertEqual(domain.glob(), '*a*')
        domain.setGlob('*b*')
        self.assertEqual(domain.glob(), '*b*')

        domain.setSplitPolicy(Qgis.FieldDomainSplitPolicy.GeometryRatio)
        self.assertEqual(domain.splitPolicy(),
                         Qgis.FieldDomainSplitPolicy.GeometryRatio)

        domain.setMergePolicy(Qgis.FieldDomainMergePolicy.GeometryWeighted)
        self.assertEqual(domain.mergePolicy(),
                         Qgis.FieldDomainMergePolicy.GeometryWeighted)

        d2 = domain.clone()
        self.assertEqual(d2.name(), 'n')
        self.assertEqual(d2.description(), 'desc 2')
        self.assertEqual(d2.fieldType(), QVariant.Double)
        self.assertEqual(d2.glob(), '*b*')
        self.assertEqual(d2.splitPolicy(),
                         Qgis.FieldDomainSplitPolicy.GeometryRatio)
        self.assertEqual(d2.mergePolicy(),
                         Qgis.FieldDomainMergePolicy.GeometryWeighted)