diff --git a/.ci/test_blocklist_qt6.txt b/.ci/test_blocklist_qt6.txt index aa373c4a4df..66c21e1fd66 100644 --- a/.ci/test_blocklist_qt6.txt +++ b/.ci/test_blocklist_qt6.txt @@ -59,7 +59,6 @@ PyQgsServerWMSGetMap PyQgsServerAccessControlWFSTransactional PyQgsServerWFS ProcessingQgisAlgorithmsTestPt2 -ProcessingQgisAlgorithmsTestPt3 ProcessingQgisAlgorithmsTestPt4 ProcessingGdalAlgorithmsVectorTest ProcessingGrassAlgorithmsImageryTest diff --git a/python/plugins/processing/tests/testdata/expected/voronoi_buffer_geos312.gml b/python/plugins/processing/tests/testdata/expected/voronoi_buffer_geos312.gml new file mode 100644 index 00000000000..32b8d92c9fd --- /dev/null +++ b/python/plugins/processing/tests/testdata/expected/voronoi_buffer_geos312.gml @@ -0,0 +1,91 @@ + + + -5.8 -0.83.8 8.8 + + + + -1 -0.83.8 2.5 + 3.8 -0.8 3.8 -0.8 0.5 2.5 -1 2.5 0.65 -0.8 3.8 -0.8 + points.0 + 1 + 2 + + + + + -3 2.52.16666666666667 5.7 + 0.5 2.5 1.83333333333333 3.16666666666667 2.16666666666667 3.83333333333333 0.3 5.7 -3 3.5 -1 2.5 0.5 2.5 + points.4 + 5 + 1 + + + + + -5.8 -0.8-3 5.1 + -5.8 -0.8 -3 -0.8 -3 3.5 -5.8 5.1 -5.8 -0.8 + points.5 + 6 + 0 + + + + + -3 -0.80.65 3.5 + 0.65 -0.8 -1 2.5 -3 3.5 -3 -0.8 0.65 -0.8 + points.8 + 9 + 0 + + + + + 0.5 -0.83.8 3.16666666666667 + 3.8 1.2 1.83333333333333 3.16666666666667 0.5 2.5 3.8 -0.8 3.8 1.2 + points.2 + 3 + 0 + + + + + 1.83333333333333 1.23.8 4.65 + 3.8 4.65 2.16666666666667 3.83333333333333 1.83333333333333 3.16666666666667 3.8 1.2 3.8 4.65 + points.1 + 2 + 1 + + + + + 0.3 3.833333333333333.8 8.8 + 3.8 8.8 2.8 8.8 1.5 7.5 0.3 5.7 2.16666666666667 3.83333333333333 3.8 4.65 3.8 8.8 + points.3 + 4 + 2 + + + + + -5.8 3.51.5 7.5 + -5.8 5.1 -3 3.5 0.3 5.7 1.5 7.5 -5.8 7.5 -5.8 5.1 + points.7 + 8 + 0 + + + + + -5.8 7.52.8 8.8 + -5.8 8.8 -5.8 7.5 1.5 7.5 2.8 8.8 -5.8 8.8 + points.6 + 7 + 0 + + + diff --git a/python/plugins/processing/tests/testdata/expected/voronoi_buffer_geos312.xsd b/python/plugins/processing/tests/testdata/expected/voronoi_buffer_geos312.xsd new file mode 100644 index 00000000000..5e3ae1a61db --- /dev/null +++ b/python/plugins/processing/tests/testdata/expected/voronoi_buffer_geos312.xsd @@ -0,0 +1,67 @@ + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/python/plugins/processing/tests/testdata/qgis_algorithm_tests3.yaml b/python/plugins/processing/tests/testdata/qgis_algorithm_tests3.yaml index 3310b15a1f8..50be8abbdf2 100644 --- a/python/plugins/processing/tests/testdata/qgis_algorithm_tests3.yaml +++ b/python/plugins/processing/tests/testdata/qgis_algorithm_tests3.yaml @@ -271,7 +271,10 @@ tests: pk: id - algorithm: native:voronoipolygons - name: Vornoi with buffer region + name: Voronoi with buffer region (GEOS < 3.12) + condition: + geos: + less_than: 31200 params: BUFFER: 10.0 INPUT: @@ -282,6 +285,28 @@ tests: name: expected/voronoi_buffer.gml type: vector pk: id + compare: + geometry: + normalize: True + + - algorithm: native:voronoipolygons + name: Voronoi with buffer region (GEOS 3.12+) + condition: + geos: + at_least: 31200 + params: + BUFFER: 10.0 + INPUT: + name: points.gml + type: vector + results: + OUTPUT: + name: expected/voronoi_buffer_geos312.gml + type: vector + pk: id + compare: + geometry: + normalize: True - algorithm: native:voronoipolygons name: Voronoi without source attributes diff --git a/python/testing/__init__.py b/python/testing/__init__.py index 6b47a7d90df..15838e9b17c 100644 --- a/python/testing/__init__.py +++ b/python/testing/__init__.py @@ -751,6 +751,7 @@ class QgisTestCase(unittest.TestCase): equal, "" " Features (Expected fid: {}, Result fid: {}) differ in geometry with method {}: \n\n" + " {}\n" " At given precision ({}):\n" " Expected geometry: {}\n" " Result geometry: {}\n\n" @@ -760,6 +761,7 @@ class QgisTestCase(unittest.TestCase): geom0_id, geom1_id, "geos" if topo_equal_check else "wkt", + "Normalized" if normalize else "Not-normalized", precision, geom0_wkt if not geom0_is_null else "NULL", geom1_wkt if not geom1_is_null else "NULL",