Skip to content

Commit 199f4ef

Browse files
PeterPetriknyalldawson
authored andcommitted
fix tests for mesh layer
1 parent 99a6f12 commit 199f4ef

6 files changed

+66
-19
lines changed

src/app/mesh/qgsmeshdatasetgrouptreeview.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -334,9 +334,9 @@ QModelIndex QgsMeshDatasetGroupTreeModel::groupIndexToModelIndex( int groupIndex
334334
QgsMeshDatasetGroupTreeItemDelagate::QgsMeshDatasetGroupTreeItemDelagate( QObject *parent )
335335
: QStyledItemDelegate( parent )
336336
, mScalarSelectedPixmap( QStringLiteral( ":/images/themes/default/propertyicons/meshcontours.svg" ) )
337-
, mScalarUnselectedPixmap( QStringLiteral( ":/images/themes/default/propertyicons/meshcontoursoff.svg" ) )
337+
, mScalarDeselectedPixmap( QStringLiteral( ":/images/themes/default/propertyicons/meshcontoursoff.svg" ) )
338338
, mVectorSelectedPixmap( QStringLiteral( ":/images/themes/default/propertyicons/meshvectors.svg" ) )
339-
, mVectorUnselectedPixmap( QStringLiteral( ":/images/themes/default/propertyicons/meshvectorsoff.svg" ) )
339+
, mVectorDeselectedPixmap( QStringLiteral( ":/images/themes/default/propertyicons/meshvectorsoff.svg" ) )
340340
{
341341
}
342342

@@ -350,10 +350,10 @@ void QgsMeshDatasetGroupTreeItemDelagate::paint( QPainter *painter, const QStyle
350350
if ( isVector )
351351
{
352352
bool isActive = index.data( QgsMeshDatasetGroupTreeModel::IsActiveVectorDatasetGroup ).toBool();
353-
painter->drawPixmap( iconRect( option.rect, true ), isActive ? mVectorSelectedPixmap : mVectorUnselectedPixmap );
353+
painter->drawPixmap( iconRect( option.rect, true ), isActive ? mVectorSelectedPixmap : mVectorDeselectedPixmap );
354354
}
355355
bool isActive = index.data( QgsMeshDatasetGroupTreeModel::IsActiveScalarDatasetGroup ).toBool();
356-
painter->drawPixmap( iconRect( option.rect, false ), isActive ? mScalarSelectedPixmap : mScalarUnselectedPixmap );
356+
painter->drawPixmap( iconRect( option.rect, false ), isActive ? mScalarSelectedPixmap : mScalarDeselectedPixmap );
357357
}
358358

359359
QRect QgsMeshDatasetGroupTreeItemDelagate::iconRect( const QRect rect, bool isVector ) const

src/app/mesh/qgsmeshdatasetgrouptreeview.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,9 @@ class APP_EXPORT QgsMeshDatasetGroupTreeItemDelagate: public QStyledItemDelegate
147147
const QModelIndex &index ) const override;
148148
private:
149149
const QPixmap mScalarSelectedPixmap;
150-
const QPixmap mScalarUnselectedPixmap;
150+
const QPixmap mScalarDeselectedPixmap;
151151
const QPixmap mVectorSelectedPixmap;
152-
const QPixmap mVectorUnselectedPixmap;
152+
const QPixmap mVectorDeselectedPixmap;
153153
};
154154

155155
/**

tests/src/core/testqgsmeshlayer.cpp

+49-12
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ class TestQgsMeshLayer : public QObject
5151

5252
void test_write_read_project();
5353
void test_read_mesh();
54+
void test_read_bed_elevation_dataset();
5455
void test_read_vertex_scalar_dataset();
5556
void test_read_vertex_vector_dataset();
5657
void test_read_face_scalar_dataset();
@@ -82,19 +83,20 @@ void TestQgsMeshLayer::initTestCase()
8283
mMemoryLayer = new QgsMeshLayer( readFile( "/quad_and_triangle.txt" ), "Triangle and Quad Memory", "mesh_memory" );
8384
QVERIFY( mMemoryLayer->isValid() );
8485
QCOMPARE( mMemoryLayer->dataProvider()->extraDatasets().count(), 0 );
86+
mMemoryLayer->dataProvider()->addDataset( readFile( "/quad_and_triangle_bed_elevation.txt" ) );
8587
mMemoryLayer->dataProvider()->addDataset( readFile( "/quad_and_triangle_vertex_scalar.txt" ) );
8688
mMemoryLayer->dataProvider()->addDataset( readFile( "/quad_and_triangle_vertex_vector.txt" ) );
8789
mMemoryLayer->dataProvider()->addDataset( readFile( "/quad_and_triangle_face_scalar.txt" ) );
8890
mMemoryLayer->dataProvider()->addDataset( readFile( "/quad_and_triangle_face_vector.txt" ) );
89-
QCOMPARE( mMemoryLayer->dataProvider()->extraDatasets().count(), 4 );
91+
QCOMPARE( mMemoryLayer->dataProvider()->extraDatasets().count(), 5 );
9092

9193
QgsProject::instance()->addMapLayers(
9294
QList<QgsMapLayer *>() << mMemoryLayer );
9395

9496
// MDAL Layer
9597
QString uri( mDataDir + "/quad_and_triangle.2dm" );
9698
mMdalLayer = new QgsMeshLayer( uri, "Triangle and Quad MDAL", "mdal" );
97-
QCOMPARE( mMdalLayer->dataProvider()->extraDatasets().count(), 0 );
99+
QCOMPARE( mMdalLayer->dataProvider()->datasetGroupCount(), 1 ); //bed elevation is already in the 2dm
98100
mMdalLayer->dataProvider()->addDataset( mDataDir + "/quad_and_triangle_vertex_scalar.dat" );
99101
mMdalLayer->dataProvider()->addDataset( mDataDir + "/quad_and_triangle_vertex_vector.dat" );
100102
QCOMPARE( mMdalLayer->dataProvider()->extraDatasets().count(), 2 );
@@ -142,6 +144,41 @@ void TestQgsMeshLayer::test_read_mesh()
142144
}
143145
}
144146

147+
void TestQgsMeshLayer::test_read_bed_elevation_dataset()
148+
{
149+
QList<const QgsMeshDataProvider *> dataProviders;
150+
dataProviders.append( mMemoryLayer->dataProvider() );
151+
dataProviders.append( mMdalLayer->dataProvider() );
152+
153+
foreach ( auto dp, dataProviders )
154+
{
155+
QVERIFY( dp != nullptr );
156+
QVERIFY( dp->isValid() );
157+
158+
QCOMPARE( 5, dp->datasetGroupCount() );
159+
160+
QgsMeshDatasetIndex ds( 0, 0 );
161+
162+
const QgsMeshDatasetGroupMetadata meta = dp->datasetGroupMetadata( ds );
163+
QVERIFY( meta.name().contains( "Elevation" ) );
164+
QVERIFY( meta.isScalar() );
165+
QVERIFY( meta.dataType() == QgsMeshDatasetGroupMetadata::DataOnVertices );
166+
167+
const QgsMeshDatasetMetadata dmeta = dp->datasetMetadata( ds );
168+
QVERIFY( qgsDoubleNear( dmeta.time(), 0 ) );
169+
QVERIFY( dmeta.isValid() );
170+
171+
// We have 5 values, since dp->vertexCount() = 5
172+
QCOMPARE( QgsMeshDatasetValue( 20 ), dp->datasetValue( ds, 0 ) );
173+
QCOMPARE( QgsMeshDatasetValue( 30 ), dp->datasetValue( ds, 1 ) );
174+
QCOMPARE( QgsMeshDatasetValue( 40 ), dp->datasetValue( ds, 2 ) );
175+
QCOMPARE( QgsMeshDatasetValue( 50 ), dp->datasetValue( ds, 3 ) );
176+
QCOMPARE( QgsMeshDatasetValue( 10 ), dp->datasetValue( ds, 4 ) );
177+
178+
QVERIFY( dp->isFaceActive( ds, 0 ) );
179+
}
180+
}
181+
145182
void TestQgsMeshLayer::test_read_vertex_scalar_dataset()
146183
{
147184
QList<const QgsMeshDataProvider *> dataProviders;
@@ -153,11 +190,11 @@ void TestQgsMeshLayer::test_read_vertex_scalar_dataset()
153190
QVERIFY( dp != nullptr );
154191
QVERIFY( dp->isValid() );
155192

156-
QCOMPARE( 4, dp->datasetGroupCount() );
193+
QCOMPARE( 5, dp->datasetGroupCount() );
157194

158195
for ( int i = 0; i < 2 ; ++i )
159196
{
160-
QgsMeshDatasetIndex ds( 0, i );
197+
QgsMeshDatasetIndex ds( 1, i );
161198

162199
const QgsMeshDatasetGroupMetadata meta = dp->datasetGroupMetadata( ds );
163200
if ( meta.extraOptions().count() == 2 )
@@ -196,11 +233,11 @@ void TestQgsMeshLayer::test_read_vertex_vector_dataset()
196233
QVERIFY( dp != nullptr );
197234
QVERIFY( dp->isValid() );
198235

199-
QCOMPARE( 4, dp->datasetGroupCount() );
236+
QCOMPARE( 5, dp->datasetGroupCount() );
200237

201238
for ( int i = 0; i < 2 ; ++i )
202239
{
203-
QgsMeshDatasetIndex ds( 1, i );
240+
QgsMeshDatasetIndex ds( 2, i );
204241

205242
const QgsMeshDatasetGroupMetadata meta = dp->datasetGroupMetadata( ds );
206243
if ( meta.extraOptions().count() == 2 )
@@ -236,11 +273,11 @@ void TestQgsMeshLayer::test_read_face_scalar_dataset()
236273
QVERIFY( dp != nullptr );
237274
QVERIFY( dp->isValid() );
238275

239-
QCOMPARE( 4, dp->datasetGroupCount() );
276+
QCOMPARE( 5, dp->datasetGroupCount() );
240277

241278
for ( int i = 0; i < 2 ; ++i )
242279
{
243-
QgsMeshDatasetIndex ds( 2, i );
280+
QgsMeshDatasetIndex ds( 3, i );
244281

245282
const QgsMeshDatasetGroupMetadata meta = dp->datasetGroupMetadata( ds );
246283
if ( meta.extraOptions().count() == 2 )
@@ -274,11 +311,11 @@ void TestQgsMeshLayer::test_read_face_vector_dataset()
274311
QVERIFY( dp != nullptr );
275312
QVERIFY( dp->isValid() );
276313

277-
QCOMPARE( 4, dp->datasetGroupCount() );
314+
QCOMPARE( 5, dp->datasetGroupCount() );
278315

279316
for ( int i = 0; i < 2 ; ++i )
280317
{
281-
QgsMeshDatasetIndex ds( 3, i );
318+
QgsMeshDatasetIndex ds( 4, i );
282319

283320
const QgsMeshDatasetGroupMetadata meta = dp->datasetGroupMetadata( ds );
284321
if ( meta.extraOptions().count() == 2 )
@@ -308,11 +345,11 @@ void TestQgsMeshLayer::test_read_vertex_scalar_dataset_with_inactive_face()
308345
QgsMeshDataProvider *dp = layer.dataProvider();
309346
QVERIFY( dp != nullptr );
310347
QVERIFY( dp->isValid() );
311-
QCOMPARE( 1, dp->datasetGroupCount() );
348+
QCOMPARE( 2, dp->datasetGroupCount() );
312349

313350
for ( int i = 0; i < 2 ; ++i )
314351
{
315-
QgsMeshDatasetIndex ds( 0, i );
352+
QgsMeshDatasetIndex ds( 1, i );
316353

317354
const QgsMeshDatasetGroupMetadata meta = dp->datasetGroupMetadata( ds );
318355
QCOMPARE( meta.name(), QString( "VertexScalarDatasetWithInactiveFace1" ) );

tests/src/core/testqgsmeshlayerrenderer.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ void TestQgsMeshRenderer::test_face_vector_dataset_rendering()
255255

256256
void TestQgsMeshRenderer::test_vertex_scalar_dataset_with_inactive_face_rendering()
257257
{
258-
QgsMeshDatasetIndex ds( 0, 1 );
258+
QgsMeshDatasetIndex ds( 1, 1 );
259259
const QgsMeshDatasetGroupMetadata metadata = mMdalLayer->dataProvider()->datasetGroupMetadata( ds );
260260
QVERIFY( metadata.name() == "VertexScalarDatasetWithInactiveFace1" );
261261

Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Vertex Scalar BedElevation
2+
---
3+
description: Bed Elevation
4+
---
5+
0
6+
20
7+
30
8+
40
9+
50
10+
10

0 commit comments

Comments
 (0)