diff --git a/python/core/auto_generated/geometry/qgscircle.sip.in b/python/core/auto_generated/geometry/qgscircle.sip.in index 451461a49ed..0e7e81bbc57 100644 --- a/python/core/auto_generated/geometry/qgscircle.sip.in +++ b/python/core/auto_generated/geometry/qgscircle.sip.in @@ -255,7 +255,7 @@ Returns true if the circle contains the ``point``. SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->toString() ); + QString str = QStringLiteral( "" ).arg( sipCpp->toString() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End }; diff --git a/python/core/auto_generated/geometry/qgscircularstring.sip.in b/python/core/auto_generated/geometry/qgscircularstring.sip.in index 4619dfbece5..a1719f83b46 100644 --- a/python/core/auto_generated/geometry/qgscircularstring.sip.in +++ b/python/core/auto_generated/geometry/qgscircularstring.sip.in @@ -164,7 +164,7 @@ Sets the circular string's points SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgscompoundcurve.sip.in b/python/core/auto_generated/geometry/qgscompoundcurve.sip.in index 80c55efa0fc..679a0cdabc3 100644 --- a/python/core/auto_generated/geometry/qgscompoundcurve.sip.in +++ b/python/core/auto_generated/geometry/qgscompoundcurve.sip.in @@ -168,7 +168,7 @@ Appends first point if not already closed. SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgscurvepolygon.sip.in b/python/core/auto_generated/geometry/qgscurvepolygon.sip.in index 163d22e4309..93ee5c4edcd 100644 --- a/python/core/auto_generated/geometry/qgscurvepolygon.sip.in +++ b/python/core/auto_generated/geometry/qgscurvepolygon.sip.in @@ -218,7 +218,7 @@ Returns approximate rotation angle for a vertex. Usually average angle between a SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgsellipse.sip.in b/python/core/auto_generated/geometry/qgsellipse.sip.in index e2406fee0d4..afaaf387008 100644 --- a/python/core/auto_generated/geometry/qgsellipse.sip.in +++ b/python/core/auto_generated/geometry/qgsellipse.sip.in @@ -250,7 +250,7 @@ Members will be truncated to the specified precision. SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->toString() ); + QString str = QStringLiteral( "" ).arg( sipCpp->toString() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgsgeometry.sip.in b/python/core/auto_generated/geometry/qgsgeometry.sip.in index 963470ec87a..9274eeb0a12 100644 --- a/python/core/auto_generated/geometry/qgsgeometry.sip.in +++ b/python/core/auto_generated/geometry/qgsgeometry.sip.in @@ -1292,7 +1292,7 @@ Exports the geometry to WKT SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgslinestring.sip.in b/python/core/auto_generated/geometry/qgslinestring.sip.in index 449f957949d..16c4893251c 100644 --- a/python/core/auto_generated/geometry/qgslinestring.sip.in +++ b/python/core/auto_generated/geometry/qgslinestring.sip.in @@ -319,7 +319,7 @@ of the curve. SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgsmulticurve.sip.in b/python/core/auto_generated/geometry/qgsmulticurve.sip.in index bfbf5dbc5ee..fee3d1136d2 100644 --- a/python/core/auto_generated/geometry/qgsmulticurve.sip.in +++ b/python/core/auto_generated/geometry/qgsmulticurve.sip.in @@ -58,7 +58,7 @@ Returns a copy of the multi curve, where each component curve has had its line d SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgsmultilinestring.sip.in b/python/core/auto_generated/geometry/qgsmultilinestring.sip.in index b716bdf3840..3d7e98530d0 100644 --- a/python/core/auto_generated/geometry/qgsmultilinestring.sip.in +++ b/python/core/auto_generated/geometry/qgsmultilinestring.sip.in @@ -55,7 +55,7 @@ Returns the geometry converted to the more generic curve type :py:class:`QgsMult SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgsmultipoint.sip.in b/python/core/auto_generated/geometry/qgsmultipoint.sip.in index bb2b5812042..d3f9ba8791e 100644 --- a/python/core/auto_generated/geometry/qgsmultipoint.sip.in +++ b/python/core/auto_generated/geometry/qgsmultipoint.sip.in @@ -57,7 +57,7 @@ Multi point geometry collection. SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgsmultipolygon.sip.in b/python/core/auto_generated/geometry/qgsmultipolygon.sip.in index 0e798493ea9..3210eaa85f7 100644 --- a/python/core/auto_generated/geometry/qgsmultipolygon.sip.in +++ b/python/core/auto_generated/geometry/qgsmultipolygon.sip.in @@ -56,7 +56,7 @@ Returns the geometry converted to the more generic curve type :py:class:`QgsMult SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgspoint.sip.in b/python/core/auto_generated/geometry/qgspoint.sip.in index 894659fddd8..f4fe9d0b461 100644 --- a/python/core/auto_generated/geometry/qgspoint.sip.in +++ b/python/core/auto_generated/geometry/qgspoint.sip.in @@ -428,7 +428,7 @@ Angle undefined. Always returns 0.0 SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgspolygon.sip.in b/python/core/auto_generated/geometry/qgspolygon.sip.in index 4e71da94204..f3cf62fd640 100644 --- a/python/core/auto_generated/geometry/qgspolygon.sip.in +++ b/python/core/auto_generated/geometry/qgspolygon.sip.in @@ -67,7 +67,7 @@ negative if the point lies outside the polygon. SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/geometry/qgsrectangle.sip.in b/python/core/auto_generated/geometry/qgsrectangle.sip.in index b605ffcfd1e..b604dbbade6 100644 --- a/python/core/auto_generated/geometry/qgsrectangle.sip.in +++ b/python/core/auto_generated/geometry/qgsrectangle.sip.in @@ -324,7 +324,7 @@ Converts the rectangle to a 3D box, with the specified SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWktCoordinates() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWktCoordinates() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/python/core/auto_generated/qgspointxy.sip.in b/python/core/auto_generated/qgspointxy.sip.in index 2b3ae3715e2..9e780f4211d 100644 --- a/python/core/auto_generated/qgspointxy.sip.in +++ b/python/core/auto_generated/qgspointxy.sip.in @@ -230,7 +230,7 @@ Multiply x and y by the given value SIP_PYOBJECT __repr__(); %MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); %End diff --git a/src/core/geometry/qgscircle.h b/src/core/geometry/qgscircle.h index 228c92c3bdd..3114617ad52 100644 --- a/src/core/geometry/qgscircle.h +++ b/src/core/geometry/qgscircle.h @@ -250,7 +250,7 @@ class CORE_EXPORT QgsCircle : public QgsEllipse #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->toString() ); + QString str = QStringLiteral( "" ).arg( sipCpp->toString() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgscircularstring.h b/src/core/geometry/qgscircularstring.h index 93d0ecd3a5c..22f5d62d31e 100644 --- a/src/core/geometry/qgscircularstring.h +++ b/src/core/geometry/qgscircularstring.h @@ -149,7 +149,7 @@ class CORE_EXPORT QgsCircularString: public QgsCurve #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgscompoundcurve.h b/src/core/geometry/qgscompoundcurve.h index 2e8523483f9..bcf673ecabd 100644 --- a/src/core/geometry/qgscompoundcurve.h +++ b/src/core/geometry/qgscompoundcurve.h @@ -149,7 +149,7 @@ class CORE_EXPORT QgsCompoundCurve: public QgsCurve #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgscurvepolygon.h b/src/core/geometry/qgscurvepolygon.h index aa8d90d114d..dd12b22a849 100644 --- a/src/core/geometry/qgscurvepolygon.h +++ b/src/core/geometry/qgscurvepolygon.h @@ -207,7 +207,7 @@ class CORE_EXPORT QgsCurvePolygon: public QgsSurface #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgsellipse.h b/src/core/geometry/qgsellipse.h index cab9bb7f08e..dceda80e0ef 100644 --- a/src/core/geometry/qgsellipse.h +++ b/src/core/geometry/qgsellipse.h @@ -243,7 +243,7 @@ class CORE_EXPORT QgsEllipse #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->toString() ); + QString str = QStringLiteral( "" ).arg( sipCpp->toString() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgsgeometry.h b/src/core/geometry/qgsgeometry.h index 48d254dc27f..3121d61a209 100644 --- a/src/core/geometry/qgsgeometry.h +++ b/src/core/geometry/qgsgeometry.h @@ -1251,7 +1251,7 @@ class CORE_EXPORT QgsGeometry #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgslinestring.h b/src/core/geometry/qgslinestring.h index 33c4973f803..0ef609ae9a1 100644 --- a/src/core/geometry/qgslinestring.h +++ b/src/core/geometry/qgslinestring.h @@ -349,7 +349,7 @@ class CORE_EXPORT QgsLineString: public QgsCurve #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgsmulticurve.h b/src/core/geometry/qgsmulticurve.h index 84f6c47ac71..3a24896400b 100644 --- a/src/core/geometry/qgsmulticurve.h +++ b/src/core/geometry/qgsmulticurve.h @@ -76,7 +76,7 @@ class CORE_EXPORT QgsMultiCurve: public QgsGeometryCollection #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgsmultilinestring.h b/src/core/geometry/qgsmultilinestring.h index 2bab67fcc95..854625a5756 100644 --- a/src/core/geometry/qgsmultilinestring.h +++ b/src/core/geometry/qgsmultilinestring.h @@ -68,7 +68,7 @@ class CORE_EXPORT QgsMultiLineString: public QgsMultiCurve #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgsmultipoint.h b/src/core/geometry/qgsmultipoint.h index c8f6803c17e..923a6b6fa64 100644 --- a/src/core/geometry/qgsmultipoint.h +++ b/src/core/geometry/qgsmultipoint.h @@ -69,7 +69,7 @@ class CORE_EXPORT QgsMultiPoint: public QgsGeometryCollection #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgsmultipolygon.h b/src/core/geometry/qgsmultipolygon.h index 6e33d617209..1106ec7dfcd 100644 --- a/src/core/geometry/qgsmultipolygon.h +++ b/src/core/geometry/qgsmultipolygon.h @@ -68,7 +68,7 @@ class CORE_EXPORT QgsMultiPolygon: public QgsMultiSurface #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgspoint.h b/src/core/geometry/qgspoint.h index 8bc30d765bc..b9cb84ffbe7 100644 --- a/src/core/geometry/qgspoint.h +++ b/src/core/geometry/qgspoint.h @@ -498,7 +498,7 @@ class CORE_EXPORT QgsPoint: public QgsAbstractGeometry #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgspolygon.h b/src/core/geometry/qgspolygon.h index 4c5f796c444..bc4164b4f07 100644 --- a/src/core/geometry/qgspolygon.h +++ b/src/core/geometry/qgspolygon.h @@ -87,7 +87,7 @@ class CORE_EXPORT QgsPolygon: public QgsCurvePolygon #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/geometry/qgsrectangle.h b/src/core/geometry/qgsrectangle.h index 9add8912310..8df60fe90b6 100644 --- a/src/core/geometry/qgsrectangle.h +++ b/src/core/geometry/qgsrectangle.h @@ -544,7 +544,7 @@ class CORE_EXPORT QgsRectangle #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWktCoordinates() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWktCoordinates() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End #endif diff --git a/src/core/qgspointxy.h b/src/core/qgspointxy.h index 680456dd8a3..9971c91cf40 100644 --- a/src/core/qgspointxy.h +++ b/src/core/qgspointxy.h @@ -297,7 +297,7 @@ class CORE_EXPORT QgsPointXY #ifdef SIP_RUN SIP_PYOBJECT __repr__(); % MethodCode - QString str = QString( "" ).arg( sipCpp->asWkt() ); + QString str = QStringLiteral( "" ).arg( sipCpp->asWkt() ); sipRes = PyUnicode_FromString( str.toUtf8().data() ); % End diff --git a/tests/src/python/test_python_repr.py b/tests/src/python/test_python_repr.py index 99bd29f075a..84e90965127 100644 --- a/tests/src/python/test_python_repr.py +++ b/tests/src/python/test_python_repr.py @@ -13,55 +13,56 @@ __copyright__ = 'Copyright 2015, The QGIS Project' __revision__ = '$Format:%H$' import qgis # NOQA -import os from qgis.testing import unittest, start_app -from qgis.core import QgsGeometry, QgsPoint, QgsPointXY, QgsCircle, QgsCircularString, QgsCompoundCurve, QgsCurve,\ - QgsCurvePolygon, QgsEllipse, QgsLineString, QgsMultiCurve, QgsMultiLineString, QgsMultiPoint, QgsMultiPolygon,\ - QgsPolygon, QgsRectangle - -import sip +from qgis.core import QgsGeometry, QgsPoint, QgsPointXY, QgsCircle, QgsCircularString, QgsCompoundCurve,\ + QgsCurvePolygon, QgsEllipse, QgsLineString, QgsMultiCurve, QgsRectangle start_app() -class TestCoreAdditions(unittest.TestCase): +class TestPython__repr__(unittest.TestCase): + + def TestQgsGeometryRepr(self): + p = QgsPointXY(123.456, 987.654) + g = QgsGeometry.fromPointXY(p) + self.assertTrue(g.__repr__().startswith('') def TestQgsCircularstringRepr(self): cs = QgsCircularString(QgsPoint(1, 2), QgsPoint(2, 3), QgsPoint(3, 4)) - print(cs) + self.assertEqual(cs.__repr__(), '') def TestQgsCompoundcurveRepr(self): cs = QgsCircularString(QgsPoint(1, 2), QgsPoint(2, 3), QgsPoint(3, 4)) cc = QgsCompoundCurve() cc.addCurve(cs) - print(cc) + self.assertEqual(cc.__repr__(), '') def TestQgsCurvepolygonRepr(self): cp = QgsCurvePolygon() cs = QgsCircularString(QgsPoint(1, 10), QgsPoint(2, 11), QgsPoint(1, 10)) cp.setExteriorRing(cs) - print(cp) + self.assertEqual(cp.__repr__(), '') def TestQgsEllipseRepr(self): e = QgsEllipse(QgsPoint(1, 2), 2.0, 3.0) - print(e) + self.assertEqual(e.__repr__(), '') def TestQgsLineStringRepr(self): ls = QgsLineString([QgsPoint(10, 2), QgsPoint(10, 1), QgsPoint(5, 1)]) - print(ls) + self.assertEqual(ls.__repr__(), '') def TestQgsMulticurveRepr(self): mc = QgsMultiCurve() @@ -69,7 +70,7 @@ class TestCoreAdditions(unittest.TestCase): mc.addGeometry(cs) cs2 = QgsCircularString(QgsPoint(4, 20), QgsPoint(5, 22), QgsPoint(6, 24)) mc.addGeometry(cs2) - print(mc) + self.assertEqual(mc.__repr__(), '') def TestQgsMultilineStringRepr(self): ml = QgsGeometry.fromMultiPolylineXY( @@ -78,12 +79,12 @@ class TestCoreAdditions(unittest.TestCase): [QgsPointXY(3, 0), QgsPointXY(3, 1), QgsPointXY(5, 1), QgsPointXY(5, 0), QgsPointXY(6, 0), ] ] ) - print(ml) + self.assertEqual(ml.constGet().__repr__(), '') def TestQgsMultiPointRepr(self): wkt = "MultiPoint ((10 30),(40 20),(30 10),(20 10))" mp = QgsGeometry.fromWkt(wkt) - print(mp) + self.assertEqual(mp.constGet().__repr__(), '') def TestQgsMultipolygonRepr(self): mp = QgsGeometry.fromMultiPolygonXY([ @@ -96,7 +97,7 @@ class TestCoreAdditions(unittest.TestCase): QgsPointXY(3, 1), QgsPointXY(2, 2)]] ]) - print(mp) + self.assertEqual(mp.constGet().__repr__(), '') def TestQgsPolygonRepr(self): p = QgsGeometry.fromPolygonXY( @@ -105,11 +106,11 @@ class TestCoreAdditions(unittest.TestCase): QgsPointXY(2, 2), QgsPointXY(0, 2), QgsPointXY(0, 0)]]) - print(p) + self.assertEqual(p.constGet().__repr__(), '') def TestQgsRectangleRepr(self): r = QgsRectangle(1, 2, 3, 4) - print(r) + self.assertEqual(r.constGet().__repr__(), '') if __name__ == "__main__":