mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-15 00:04:00 -04:00
Tests for range field formatter
This commit is contained in:
parent
37f31dd809
commit
31de32420d
@ -16,7 +16,7 @@ import qgis # NOQA
|
||||
|
||||
from qgis.core import (QgsFeature, QgsProject, QgsRelation, QgsVectorLayer,
|
||||
QgsValueMapFieldFormatter, QgsValueRelationFieldFormatter,
|
||||
QgsRelationReferenceFieldFormatter, QgsSettings)
|
||||
QgsRelationReferenceFieldFormatter, QgsRangeFieldFormatter, QgsSettings)
|
||||
|
||||
from qgis.testing import start_app, unittest
|
||||
|
||||
@ -197,5 +197,62 @@ class TestQgsRelationReferenceFieldFormatter(unittest.TestCase):
|
||||
QgsProject.instance().removeAllMapLayers()
|
||||
|
||||
|
||||
class TestQgsRangeFieldFormatter(unittest.TestCase):
|
||||
|
||||
def test_representValue(self):
|
||||
|
||||
layer = QgsVectorLayer("point?field=int:integer&field=double:double",
|
||||
"layer", "memory")
|
||||
self.assertTrue(layer.isValid())
|
||||
QgsProject.instance().addMapLayers([layer])
|
||||
|
||||
fieldFormatter = QgsRangeFieldFormatter()
|
||||
|
||||
# Precision is ignored for integers
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 0, {'Precision': 1}, None, '123'), '123')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 0, {'Precision': 1}, None, '123000'), '123000')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 0, {'Precision': 1}, None, None), 'NULL')
|
||||
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 1}, None, None), 'NULL')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 1}, None, '123'), '123.0')
|
||||
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, None), 'NULL')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '123000'), '123000.00')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '0'), '0.00')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '123'), '123.00')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '0.123'), '0.12')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '0.127'), '0.13')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '0'), '0.000')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '0.127'), '0.127')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '1.27e-1'), '0.127')
|
||||
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '-123'), '-123.00')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '-0.123'), '-0.12')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '-0.127'), '-0.13')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '-0.127'), '-0.127')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '-1.27e-1'), '-0.127')
|
||||
|
||||
QgsSettings().setValue("locale/overrideFlag", True)
|
||||
QgsSettings().setValue("locale/userLocale", 'it')
|
||||
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, None), 'NULL')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '123000'), '123000,00')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '0'), '0,00')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '123'), '123,00')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '0.123'), '0,12')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '0.127'), '0,13')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '0'), '0,000')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '0.127'), '0,127')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '1.27e-1'), '0,127')
|
||||
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '-123'), '-123,00')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '-0.123'), '-0,12')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 2}, None, '-0.127'), '-0,13')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '-0.127'), '-0,127')
|
||||
self.assertEqual(fieldFormatter.representValue(layer, 1, {'Precision': 3}, None, '-1.27e-1'), '-0,127')
|
||||
|
||||
QgsProject.instance().removeAllMapLayers()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
Loading…
x
Reference in New Issue
Block a user