@@ -96,8 +96,8 @@ Q_DECLARE_METATYPE( QgsReclassifyUtils::RasterClass );
96
96
void TestQgsReclassifyUtils::testReclassify_data ()
97
97
{
98
98
QTest::addColumn<QVector< double >>( " input" );
99
- QTest::addColumn<int >( " rows " );
100
- QTest::addColumn<int >( " cols " );
99
+ QTest::addColumn<int >( " nRows " );
100
+ QTest::addColumn<int >( " nCols " );
101
101
QTest::addColumn<QVector< QgsReclassifyUtils::RasterClass >>( " classes" );
102
102
QTest::addColumn<double >( " destNoDataValue" );
103
103
QTest::addColumn<bool >( " useNoDataForMissing" );
@@ -149,27 +149,13 @@ void TestQgsReclassifyUtils::testReclassify_data()
149
149
void TestQgsReclassifyUtils::testReclassify ()
150
150
{
151
151
QFETCH ( QVector< double >, input );
152
- QFETCH ( int , rows );
153
- QFETCH ( int , cols );
152
+ QFETCH ( int , nRows );
153
+ QFETCH ( int , nCols );
154
154
QFETCH ( QVector< QgsReclassifyUtils::RasterClass >, classes );
155
155
QFETCH ( double , destNoDataValue );
156
156
QFETCH ( bool , useNoDataForMissing );
157
157
QFETCH ( QVector< double >, expected );
158
158
159
- QVector< double > res = reclassifyBlock ( input, 2 , 3 , classes, destNoDataValue, useNoDataForMissing );
160
- for ( int row = 0 ; row < rows; row++ )
161
- {
162
- for ( int col = 0 ; col < cols; col++ )
163
- {
164
- QCOMPARE ( res[row * cols + col], expected[row * cols + col] );
165
- }
166
- }
167
- }
168
-
169
- QVector< double > TestQgsReclassifyUtils::reclassifyBlock ( const QVector< double > &input, int nRows, int nCols,
170
- const QVector< QgsReclassifyUtils::RasterClass > &classes,
171
- double destNoDataValue, bool useNoDataForMissing )
172
- {
173
159
QgsRectangle extent = QgsRectangle ( 0 , 0 , nRows, nCols );
174
160
QgsCoordinateReferenceSystem crs ( 3857 );
175
161
double tform[] =
@@ -190,10 +176,13 @@ QVector< double > TestQgsReclassifyUtils::reclassifyBlock( const QVector< double
190
176
writer->setOutputProviderKey ( QStringLiteral ( " gdal" ) );
191
177
writer->setOutputFormat ( QStringLiteral ( " GTiff" ) );
192
178
std::unique_ptr<QgsRasterDataProvider > dp ( writer->createOneBandRaster ( Qgis::Float32, nCols, nRows, extent, crs ) );
193
- Q_ASSERT ( dp->isValid () );
179
+ QVERIFY ( dp->isValid () );
194
180
dp->setNoDataValue ( 1 , -9999 );
195
181
std::unique_ptr< QgsRasterBlock > block ( dp->block ( 1 , extent, nCols, nRows ) );
196
- Q_ASSERT ( dp->setEditable ( true ) );
182
+ if ( !dp->isEditable () )
183
+ {
184
+ QVERIFY ( dp->setEditable ( true ) );
185
+ }
197
186
int i = 0 ;
198
187
for ( int row = 0 ; row < nRows; row++ )
199
188
{
@@ -202,8 +191,8 @@ QVector< double > TestQgsReclassifyUtils::reclassifyBlock( const QVector< double
202
191
block->setValue ( row, col, input[i++] );
203
192
}
204
193
}
205
- Q_ASSERT ( dp->writeBlock ( block.get (), 1 ) );
206
- dp->setEditable ( false );
194
+ QVERIFY ( dp->writeBlock ( block.get (), 1 ) );
195
+ QVERIFY ( dp->setEditable ( false ) );
207
196
208
197
// make destination raster
209
198
QTemporaryFile tmpFile2;
@@ -213,12 +202,10 @@ QVector< double > TestQgsReclassifyUtils::reclassifyBlock( const QVector< double
213
202
// create a GeoTIFF - this will create data provider in editable mode
214
203
filename = tmpFile2.fileName ();
215
204
std::unique_ptr< QgsRasterDataProvider > dp2 ( QgsRasterDataProvider::create ( QStringLiteral ( " gdal" ), filename, QStringLiteral ( " GTiff" ), 1 , Qgis::Float32, 10 , 10 , tform, crs ) );
216
- Q_ASSERT ( dp2->isValid () );
205
+ QVERIFY ( dp2->isValid () );
217
206
218
207
// reclassify
219
- Q_ASSERT ( dp2->setEditable ( true ) );
220
208
QgsReclassifyUtils::reclassify ( classes, dp.get (), 1 , extent, nCols, nRows, dp2.get (), destNoDataValue, useNoDataForMissing );
221
- dp2->setEditable ( false );
222
209
223
210
// read back in values
224
211
block.reset ( dp2->block ( 1 , extent, nCols, nRows ) );
@@ -232,7 +219,13 @@ QVector< double > TestQgsReclassifyUtils::reclassifyBlock( const QVector< double
232
219
}
233
220
}
234
221
235
- return res;
222
+ for ( int row = 0 ; row < nRows; row++ )
223
+ {
224
+ for ( int col = 0 ; col < nCols; col++ )
225
+ {
226
+ QCOMPARE ( res[row * nCols + col], expected[row * nCols + col] );
227
+ }
228
+ }
236
229
}
237
230
238
231
0 commit comments