Skip to content

Commit cb382ed

Browse files
pierreloicqnyalldawson
authored andcommittedSep 14, 2018
sipification problem and unit test attempt
1 parent 6443df6 commit cb382ed

File tree

3 files changed

+35
-7
lines changed

3 files changed

+35
-7
lines changed
 

‎python/core/auto_generated/symbology/qgsgraduatedsymbolrenderer.sip.in

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -330,8 +330,8 @@ Reset the label decimal places to a numberbased on the minimum class interval
330330
const QgsRendererRangeLabelFormat &legendFormat = QgsRendererRangeLabelFormat(),
331331
bool useSymmetricMode = false,
332332
double symmetryPoint = 0.0,
333-
QStringList listForCboPrettyBreaks = {},
334-
bool astride = false);
333+
QStringList listForCboPrettyBreaks = QStringList(),
334+
bool astride = false );
335335
%Docstring
336336
Creates a new graduated renderer.
337337

@@ -518,9 +518,8 @@ Gets the symbol which is used to represent ``value``.
518518
Returns the matching legend key for a value.
519519
%End
520520

521-
522-
QStringList mListForCboPrettyBreaks = {};
523-
521+
522+
524523
private:
525524
QgsGraduatedSymbolRenderer( const QgsGraduatedSymbolRenderer & );
526525
QgsGraduatedSymbolRenderer &operator=( const QgsGraduatedSymbolRenderer & );

‎src/core/symbology/qgsgraduatedsymbolrenderer.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ class CORE_EXPORT QgsGraduatedSymbolRenderer : public QgsFeatureRenderer
327327
const QgsRendererRangeLabelFormat &legendFormat = QgsRendererRangeLabelFormat(),
328328
bool useSymmetricMode = false,
329329
double symmetryPoint = 0.0,
330-
QStringList listForCboPrettyBreaks = {},
330+
QStringList listForCboPrettyBreaks = QStringList(),
331331
bool astride = false );
332332

333333
//! create renderer from XML element
@@ -483,7 +483,7 @@ class CORE_EXPORT QgsGraduatedSymbolRenderer : public QgsFeatureRenderer
483483

484484
bool mUseSymmetricMode = false;
485485
double mSymmetryPoint = 0.0;
486-
QStringList mListForCboPrettyBreaks = {};
486+
QStringList mListForCboPrettyBreaks = QStringList();
487487
bool mAstride = false;
488488

489489
private:

‎tests/src/core/testqgsgraduatedsymbolrenderer.cpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020

2121
#include "qgsgraduatedsymbolrenderer.h"
2222

23+
/** \ingroup UnitTests
24+
* This is a unit test for the qgsGraduatedSymbolRenderer class.
25+
*/
26+
2327
class TestQgsGraduatedSymbolRenderer: public QObject
2428
{
2529
Q_OBJECT
@@ -31,6 +35,7 @@ class TestQgsGraduatedSymbolRenderer: public QObject
3135
void cleanup();// will be called after every testfunction.
3236
void rangesOverlap();
3337
void rangesHaveGaps();
38+
void _makeBreaksSymmetric(QList<double> &breaks, double symmetryPoint, bool astride);
3439

3540

3641
private:
@@ -136,5 +141,29 @@ void TestQgsGraduatedSymbolRenderer::rangesHaveGaps()
136141
QVERIFY( renderer.rangesHaveGaps() );
137142
}
138143

144+
void TestQgsGraduatedSymbolRenderer::_makeBreaksSymmetric(QList<double> &breaks, double symmetryPoint, bool astride)
145+
{
146+
const QList<double> unchanged_breaks = {1235, 1023, 997, 800, 555, 10, 1, -5, -11, -423, -811};
147+
148+
// with astride = false
149+
breaks = unchanged_breaks;
150+
symmetryPoint = 12.0;
151+
astride = false;
152+
_makeBreaksSymmetric( breaks, symmetryPoint, astride );
153+
154+
QVERIFY( breaks.contains( symmetryPoint) );
155+
// /!\ breaks contain the maximum of the distrib but not the minimum ?
156+
QVERIFY( breaks.count() % 2 == 0 );
157+
158+
// with astride = true
159+
breaks = unchanged_breaks;
160+
symmetryPoint = 666.3;
161+
astride = true;
162+
_makeBreaksSymmetric( breaks, symmetryPoint, astride );
163+
164+
QVERIFY( breaks.contains( symmetryPoint) );
165+
QVERIFY( breaks.count() % 2 != 0 );
166+
}
167+
139168
QGSTEST_MAIN( TestQgsGraduatedSymbolRenderer )
140169
#include "testqgsgraduatedsymbolrenderer.moc"

0 commit comments

Comments
 (0)
Please sign in to comment.