@@ -765,6 +765,38 @@ void TestQgsGeometryChecks::testOverlapCheck()
765
765
cleanupTestContext ( testContext );
766
766
}
767
767
768
+ void TestQgsGeometryChecks::testOverlapCheckNoMaxArea ()
769
+ {
770
+ QTemporaryDir dir;
771
+ QMap<QString, QString> layers;
772
+ layers.insert ( QStringLiteral (" point_layer.shp" ), QString () );
773
+ layers.insert ( QStringLiteral (" line_layer.shp" ), QString () );
774
+ layers.insert ( QStringLiteral (" polygon_layer.shp" ), QString () );
775
+
776
+ auto testContext = createTestContext ( dir, layers );
777
+
778
+ // Test detection
779
+ QList<QgsGeometryCheckError *> checkErrors;
780
+ QStringList messages;
781
+
782
+ QVariantMap configuration;
783
+ configuration.insert ( " maxOverlapArea" , 0.0 );
784
+
785
+ QgsGeometryOverlapCheck check ( testContext.first , configuration );
786
+ QgsFeedback feedback;
787
+ check.collectErrors ( testContext.second , checkErrors, messages, &feedback );
788
+ listErrors ( checkErrors, messages );
789
+
790
+ QList<QgsGeometryCheckError *> errs1;
791
+ QCOMPARE ( checkErrors.size (), 4 );
792
+ QVERIFY ( searchCheckErrors ( checkErrors, layers[" point_layer.shp" ] ).isEmpty () );
793
+ QVERIFY ( searchCheckErrors ( checkErrors, layers[" line_layer.shp" ] ).isEmpty () );
794
+ errs1 = searchCheckErrors ( checkErrors, layers[" polygon_layer.shp" ], 10 );
795
+ QCOMPARE ( errs1.size (), 2 );
796
+ errs1 = searchCheckErrors ( checkErrors, layers[" polygon_layer.shp" ], 9 );
797
+ QCOMPARE ( errs1.size (), 2 );
798
+ }
799
+
768
800
void TestQgsGeometryChecks::testPointCoveredByLineCheck ()
769
801
{
770
802
QTemporaryDir dir;
0 commit comments