diff --git a/tests/src/python/test_qgsogcutils.py b/tests/src/python/test_qgsogcutils.py index bf3785a622c..c670ae0e6ca 100644 --- a/tests/src/python/test_qgsogcutils.py +++ b/tests/src/python/test_qgsogcutils.py @@ -98,6 +98,27 @@ class TestQgsOgcUtils(unittest.TestCase): e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl) self.assertEqual(e.expression(), 'id > 2 AND id < 4') + # Literals are Scientific notation 15e-01 and 35e-01 + f = ''' + + + + id + 15e-01 + + + id + 35e-01 + + + + ''' + d = QDomDocument('filter') + d.setContent(f, True) + + e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl) + self.assertEqual(e.expression(), 'id > 2 AND id < 4') + def test_expressionFromOgcFilterWithLonglong(self): """ Test expressionFromOgcFilter with LongLong type field @@ -168,6 +189,27 @@ class TestQgsOgcUtils(unittest.TestCase): e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl) self.assertEqual(e.expression(), 'id > 2 AND id < 4') + # Literals are Scientific notation 15e-01 and 35e-01 + f = ''' + + + + id + 15e-01 + + + id + 35e-01 + + + + ''' + d = QDomDocument('filter') + d.setContent(f, True) + + e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl) + self.assertEqual(e.expression(), 'id > 2 AND id < 4') + def test_expressionFromOgcFilterWithDouble(self): """ Test expressionFromOgcFilter with Double type field @@ -239,6 +281,27 @@ class TestQgsOgcUtils(unittest.TestCase): e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl) self.assertEqual(e.expression(), 'id > 1.5 AND id < 3.5') + # Literals are Scientific notation 15e-01 and 35e-01 + f = ''' + + + + id + 15e-01 + + + id + 35e-01 + + + + ''' + d = QDomDocument('filter') + d.setContent(f, True) + + e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl) + self.assertEqual(e.expression(), 'id > 1.5 AND id < 3.5') + def test_expressionFromOgcFilterWithString(self): """ Test expressionFromOgcFilter with String type field @@ -310,6 +373,27 @@ class TestQgsOgcUtils(unittest.TestCase): e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl) self.assertEqual(e.expression(), 'id > \'1.5\' AND id < \'3.5\'') + # Literals are Scientific notation 15e-01 and 35e-01 + f = ''' + + + + id + 15e-01 + + + id + 35e-01 + + + + ''' + d = QDomDocument('filter') + d.setContent(f, True) + + e = QgsOgcUtils.expressionFromOgcFilter(d.documentElement(), vl) + self.assertEqual(e.expression(), 'id > \'15e-01\' AND id < \'35e-01\'') + if __name__ == '__main__': unittest.main()