def testFormatDistance(self): """Test formatting distances""" QLocale.setDefault(QLocale.c()) self.assertEqual(QgsDistanceArea.formatDistance(45, 3, QGis.Meters), u'45.000 m') self.assertEqual(QgsDistanceArea.formatDistance(1300, 1, QGis.Meters, False), u'1.3 km') self.assertEqual(QgsDistanceArea.formatDistance(.005, 1, QGis.Meters, False), u'5.0 mm') self.assertEqual(QgsDistanceArea.formatDistance(.05, 1, QGis.Meters, False), u'5.0 cm') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QGis.Kilometers, True), u'1.500 km') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QGis.Kilometers, False), u'1.500 km') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QGis.Kilometers, True), u'0.500 km') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QGis.Kilometers, False), u'500.000 m') self.assertEqual(QgsDistanceArea.formatDistance(6000, 0, QGis.Feet, True), u'6,000 ft') self.assertEqual(QgsDistanceArea.formatDistance(6000, 3, QGis.Feet, False), u'1.136 mi') self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QGis.Feet, True), u'300 ft') self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QGis.Feet, False), u'300 ft') self.assertEqual(QgsDistanceArea.formatDistance(3000, 0, QGis.Yards, True), u'3,000 yd') self.assertEqual(QgsDistanceArea.formatDistance(3000, 3, QGis.Yards, False), u'1.705 mi') self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QGis.Yards, True), u'300 yd') self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QGis.Yards, False), u'300 yd') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QGis.Miles, True), u'1.500 mi') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QGis.Miles, False), u'1.500 mi') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QGis.Miles, True), u'0.500 mi') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 0, QGis.Miles, False), u'2,640 ft') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 1, QGis.NauticalMiles, True), u'0.5 NM') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 1, QGis.NauticalMiles, False), u'0.5 NM') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 1, QGis.NauticalMiles, True), u'1.5 NM') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 1, QGis.NauticalMiles, False), u'1.5 NM') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 1, QGis.Degrees, True), u'1.5 degrees') self.assertEqual(QgsDistanceArea.formatDistance(1.0, 1, QGis.Degrees, False), u'1.0 degree') self.assertEqual(QgsDistanceArea.formatDistance(1.0, 1, QGis.UnknownUnit, False), u'1.0') QLocale.setDefault(QLocale.system())
""" __author__ = 'Nyall Dawson' __date__ = '03.02.2016' __copyright__ = 'Copyright 2016, The QGIS Project' # This will get replaced with a git SHA1 when you do a git archive __revision__ = '$Format:%H$' import qgis from qgis.testing import unittest from qgis.core import (QgsUnitTypes, QGis, QgsSymbolV2) from PyQt4.QtCore import QLocale # enforce C locale because the tests expect it # (decimal separators / thousand separators) QLocale.setDefault(QLocale.c()) class TestQgsUnitTypes(unittest.TestCase): def testDistanceUnitType(self): """Test QgsUnitTypes::unitType() """ expected = { QGis.Meters: QgsUnitTypes.Standard, QGis.Kilometers: QgsUnitTypes.Standard, QGis.Feet: QgsUnitTypes.Standard, QGis.Yards: QgsUnitTypes.Standard, QGis.Miles: QgsUnitTypes.Standard, QGis.Degrees: QgsUnitTypes.Geographic, QGis.UnknownUnit: QgsUnitTypes.UnknownType, QGis.NauticalMiles: QgsUnitTypes.Standard }
def fix_locale(): """ Fix for issues with locale-bound number handling, we basically force decimals to use '.' rather than ',' """ from PyQt4.QtCore import QLocale QLocale.setDefault(QLocale.c())
# This will get replaced with a git SHA1 when you do a git archive __revision__ = '$Format:%H$' import qgis from qgis.testing import unittest from qgis.core import ( QgsUnitTypes, QGis, QgsSymbolV2 ) from PyQt4.QtCore import QLocale # enforce C locale because the tests expect it # (decimal separators / thousand separators) QLocale.setDefault(QLocale.c()) class TestQgsUnitTypes(unittest.TestCase): def testDistanceUnitType(self): """Test QgsUnitTypes::unitType() """ expected = {QGis.Meters: QgsUnitTypes.Standard, QGis.Kilometers: QgsUnitTypes.Standard, QGis.Feet: QgsUnitTypes.Standard, QGis.Yards: QgsUnitTypes.Standard, QGis.Miles: QgsUnitTypes.Standard, QGis.Degrees: QgsUnitTypes.Geographic, QGis.UnknownUnit: QgsUnitTypes.UnknownType, QGis.NauticalMiles: QgsUnitTypes.Standard }
def fix_locale(): """ Fix for issues with locale-bound number handling, we basically force decimals to use '.' rather than ',' """ from PyQt4.QtCore import QLocale QLocale.setDefault(QLocale.c())