test: include #1439 in test set and clean up of related issues

This commit is contained in:
Barend Gehrels
2026-07-03 18:33:47 +02:00
parent 480e9cf0f6
commit 4f67b84cf6
7 changed files with 23 additions and 45 deletions
@@ -2518,7 +2518,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
from_wkt<G>("POLYGON((0 10,0 45,50 10,0 10))"), from_wkt<G>("POLYGON((0 10,0 45,50 10,0 10))"),
0, 10, 50, 45); 0, 10, 50, 45);
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that contains both the north and south poles in its interior // ring that contains both the north and south poles in its interior
tester::apply("r01cw-r", tester::apply("r01cw-r",
from_wkt<G>("POLYGON((0 10,50 10,0 45,0 10))"), from_wkt<G>("POLYGON((0 10,50 10,0 45,0 10))"),
@@ -2549,7 +2549,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
-180, -90, 180, -10); -180, -90, 180, -10);
// -180, -19.42540014068282, 180, 90); // -180, -19.42540014068282, 180, 90);
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that has the north pole as vertex and contains the south pole // ring that has the north pole as vertex and contains the south pole
tester::apply("r04cw", tester::apply("r04cw",
from_wkt<G>("POLYGON((0 0,-50 90,-50 0,0 0))"), from_wkt<G>("POLYGON((0 0,-50 90,-50 0,0 0))"),
@@ -2584,7 +2584,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
from_wkt<G>("POLYGON((0 0,-50 0,-50 90,0 0))"), from_wkt<G>("POLYGON((0 0,-50 0,-50 90,0 0))"),
-50, 0, 0, 90); -50, 0, 0, 90);
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that goes through the south pole and contains the north pole // ring that goes through the south pole and contains the north pole
tester::apply("r09cw", tester::apply("r09cw",
from_wkt<G>("POLYGON((0 0,0 -90,50 0,0 0))"), from_wkt<G>("POLYGON((0 0,0 -90,50 0,0 0))"),
@@ -2624,7 +2624,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
from_wkt<G>("POLYGON((100 45,0 45,-100 45,-100 90,100 45))"), from_wkt<G>("POLYGON((100 45,0 45,-100 45,-100 90,100 45))"),
-100, 45, 100, 90); -100, 45, 100, 90);
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that represents the complement of a spherical cap // ring that represents the complement of a spherical cap
// near the north pole // near the north pole
tester::apply("r13cw-r", tester::apply("r13cw-r",
@@ -2638,7 +2638,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
from_wkt<G>("POLYGON((-100 45,0 45,100 45,100 -90,-100 45))"), from_wkt<G>("POLYGON((-100 45,0 45,100 45,100 -90,-100 45))"),
-100, -90, 100, 57.26759279038765); -100, -90, 100, 57.26759279038765);
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that represents a spherical cap that touches the south pole // ring that represents a spherical cap that touches the south pole
tester::apply("r14cw-r", tester::apply("r14cw-r",
from_wkt<G>("POLYGON((100 45,0 45,-100 45,-100 -90,100 45))"), from_wkt<G>("POLYGON((100 45,0 45,-100 45,-100 -90,100 45))"),
@@ -2661,7 +2661,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
from_wkt<G>("POLYGON((-50 -80,-50 -40,-30 -40,-30 -80,-50 -80))"), from_wkt<G>("POLYGON((-50 -80,-50 -40,-30 -40,-30 -80,-50 -80))"),
-50, -80.14892388341609, -30, -40); -50, -80.14892388341609, -30, -40);
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that lies in the lower hemisphere and contains both poles // ring that lies in the lower hemisphere and contains both poles
tester::apply("r16-r", tester::apply("r16-r",
from_wkt<G>("POLYGON((-50 -80,-30 -80,-30 -40,-50 -40,-50 -80))"), from_wkt<G>("POLYGON((-50 -80,-30 -80,-30 -40,-50 -40,-50 -80))"),
@@ -2678,7 +2678,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
from_wkt<G>("POLYGON((50 0,100 0,100 -90,50 0))"), from_wkt<G>("POLYGON((50 0,100 0,100 -90,50 0))"),
50, -90, 100, 0); 50, -90, 100, 0);
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that goes through the south pole and contains the north pole // ring that goes through the south pole and contains the north pole
tester::apply("r18cw", tester::apply("r18cw",
from_wkt<G>("POLYGON((50 0,50 -90,460 0,50 0))"), from_wkt<G>("POLYGON((50 0,50 -90,460 0,50 0))"),
@@ -2690,7 +2690,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
from_wkt<G>("POLYGON((50 0,460 0,100 -90,50 0))"), from_wkt<G>("POLYGON((50 0,460 0,100 -90,50 0))"),
50, -90, 100, 0); 50, -90, 100, 0);
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that goes through the south pole and contains the north pole // ring that goes through the south pole and contains the north pole
tester::apply("r19cw", tester::apply("r19cw",
from_wkt<G>("POLYGON((50 0,50 -90,-260 0,50 0))"), from_wkt<G>("POLYGON((50 0,50 -90,-260 0,50 0))"),
@@ -2707,7 +2707,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
from_wkt<G>("POLYGON((10 0,10 90,20 0,20 -90,10 0))"), from_wkt<G>("POLYGON((10 0,10 90,20 0,20 -90,10 0))"),
10, -90, 20, 90); // SUCCEEDS FOR WRONG REASON 10, -90, 20, 90); // SUCCEEDS FOR WRONG REASON
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that goes through both poles // ring that goes through both poles
tester::apply("r20cw-r", tester::apply("r20cw-r",
from_wkt<G>("POLYGON((10 0,10 -90,20 0,20 90,10 0))"), from_wkt<G>("POLYGON((10 0,10 -90,20 0,20 90,10 0))"),
@@ -2720,7 +2720,7 @@ BOOST_AUTO_TEST_CASE( envelope_cw_ring )
from_wkt<G>("POLYGON((-10 0,-10 90,170 0,170 -90,-10 0))"), from_wkt<G>("POLYGON((-10 0,-10 90,170 0,170 -90,-10 0))"),
-10, -90, 170, 90); // SUCCEEDS FOR WRONG REASON -10, -90, 170, 90); // SUCCEEDS FOR WRONG REASON
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
// ring that goes through both poles and its boundary forms // ring that goes through both poles and its boundary forms
// a great circle // a great circle
tester::apply("r21cw-r", tester::apply("r21cw-r",
File diff suppressed because one or more lines are too long
-12
View File
@@ -315,12 +315,6 @@ static std::string issue_1100_multi[2] =
"MULTIPOLYGON(((-0.19761611601674899941 2101,0 2100.6135231738085167,0 2100,-0.5 2100,-0.5 2101,-0.19761611601674899941 2101)))" "MULTIPOLYGON(((-0.19761611601674899941 2101,0 2100.6135231738085167,0 2100,-0.5 2100,-0.5 2101,-0.19761611601674899941 2101)))"
}; };
static std::string issue_1363_multi[2] =
{
"MULTIPOLYGON(((2.0611606968426476882 0.61095000000000010409,2.046160696842648008 0.62595000000000000639,2.0311606968426478836 0.6409499999999999087,1.9486606968426476438 0.73094999999999987761,1.9261606968426476794 0.76094999999999990425,1.9336606968426472974 0.78344999999999986873,2.0161606968426477593 0.85844999999999993534,2.0236606968426480435 0.8584499999999997133,2.0461606968426475639 0.90344999999999986429,2.0911606968426479369 0.88844999999999973994,2.098660696842647333 0.8734499999999996156,2.1136606968426479014 0.86594999999999977547,2.1286606968426480258 0.85094999999999976215,2.1436606968426472619 0.83594999999999985985,2.143660696842647706 0.62594999999999989537,2.0836606968426476527 0.62594999999999989537,2.0611606968426476882 0.61095000000000010409)))",
"MULTIPOLYGON(((2.0461606968426484521 0.90344999999999986429,2.001160696842647635 0.91095000000000003748,1.8511606968426477238 0.91094999999999992646,1.813660696842647635 0.91844999999999998863,1.813660696842647635 0.9409499999999999531,1.8211606968426479192 1.1059499999999999886,1.8286606968426479813 1.263449999999999962,1.9636606968426479902 1.263449999999999962,2.0461606968426484521 1.2559499999999998998,2.0536606968426478481 1.2409499999999999975,2.1286606968426480258 1.2409499999999999975,2.1286606968426480258 1.1059499999999999886,2.1211606968426477415 0.92594999999999982876,2.1136606968426479014 0.89594999999999980211,2.091160696842648381 0.88844999999999996199,2.0461606968426484521 0.90344999999999986429)))"
};
static std::string buffer_rt_g_multi[2] = static std::string buffer_rt_g_multi[2] =
{ {
"MULTIPOLYGON(((2.0 8.0,2.0 9.0,2.0 10.0,3.0 10.0,4.0 10.0,6.4142135623730958 10.0,4.7071067811865479 8.2928932188134521,3.7071067811865475 7.2928932188134521,2.0 5.5857864376269051,2.0 8.0)))", "MULTIPOLYGON(((2.0 8.0,2.0 9.0,2.0 10.0,3.0 10.0,4.0 10.0,6.4142135623730958 10.0,4.7071067811865479 8.2928932188134521,3.7071067811865475 7.2928932188134521,2.0 5.5857864376269051,2.0 8.0)))",
@@ -364,15 +358,9 @@ void test_all()
// TEST_INTERSECTION(case_bitset_3, 16.0, 1, 0); // TEST_INTERSECTION(case_bitset_3, 16.0, 1, 0);
// TEST_INTERSECTION(case_149_multi, 48.0, 2, 2); // instruction // TEST_INTERSECTION(case_149_multi, 48.0, 2, 2); // instruction
//
// TEST_DIFFERENCE_B(issue_893_multi, 97213916.0, 1, 1); // needs is_traverse // TEST_DIFFERENCE_B(issue_893_multi, 97213916.0, 1, 1); // needs is_traverse
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING
TEST_INTERSECTION(issue_1439, 0, 0, 0.0);
#endif
TEST_UNION(case_134_multi, 66.0, 1, 2); TEST_UNION(case_134_multi, 66.0, 1, 2);
TEST_UNION(case_76_multi, 8.0, 5, 0); TEST_UNION(case_76_multi, 8.0, 5, 0);
TEST_UNION(case_150_multi, 21.0, 2, 0); // uu TEST_UNION(case_150_multi, 21.0, 2, 0); // uu
+3 -21
View File
@@ -1297,10 +1297,10 @@ static std::string issue_1345_b[2] =
)"""" )""""
}; };
static std::string issue_1363[2] = static std::string issue_1439[2] =
{ {
"MULTIPOLYGON(((2.0611606968426476882 0.61095000000000010409,2.046160696842648008 0.62595000000000000639,2.0311606968426478836 0.6409499999999999087,1.9486606968426476438 0.73094999999999987761,1.9261606968426476794 0.76094999999999990425,1.9336606968426472974 0.78344999999999986873,2.0161606968426477593 0.85844999999999993534,2.0236606968426480435 0.8584499999999997133,2.0461606968426475639 0.90344999999999986429,2.0911606968426479369 0.88844999999999973994,2.098660696842647333 0.8734499999999996156,2.1136606968426479014 0.86594999999999977547,2.1286606968426480258 0.85094999999999976215,2.1436606968426472619 0.83594999999999985985,2.143660696842647706 0.62594999999999989537,2.0836606968426476527 0.62594999999999989537,2.0611606968426476882 0.61095000000000010409)))", "POLYGON((-2.47089026 -86.03059246, -1.161944873 146.3030596, 3.40221214 145.8628015, 3.024695769 141.949088, 2.420586453 111.9554564, 1.208013978 -86.04069936, -2.47089026 -86.03059246))",
"MULTIPOLYGON(((2.0461606968426484521 0.90344999999999986429,2.001160696842647635 0.91095000000000003748,1.8511606968426477238 0.91094999999999992646,1.813660696842647635 0.91844999999999998863,1.813660696842647635 0.9409499999999999531,1.8211606968426479192 1.1059499999999999886,1.8286606968426479813 1.263449999999999962,1.9636606968426479902 1.263449999999999962,2.0461606968426484521 1.2559499999999998998,2.0536606968426478481 1.2409499999999999975,2.1286606968426480258 1.2409499999999999975,2.1286606968426480258 1.1059499999999999886,2.1211606968426477415 0.92594999999999982876,2.1136606968426479014 0.89594999999999980211,2.091160696842648381 0.88844999999999996199,2.0461606968426484521 0.90344999999999986429)))" "POLYGON((-6.213278056 -88.01851748, -6.207382255 -86.51852906, -6.20539951 -86.01408604, -2.470873099 -86.02434575, -2.472221358 -86.53315586, -2.476196085 -88.03315059, -6.213278056 -88.01851748))"
}; };
static std::string ggl_list_20120229_volker[3] = static std::string ggl_list_20120229_volker[3] =
@@ -1653,23 +1653,5 @@ static std::string mysql_23023665_13[2] =
"POLYGON((0 7,-5 6,11 -13,0 7))" "POLYGON((0 7,-5 6,11 -13,0 7))"
}; };
static std::string issue_1439[2] =
{
"POLYGON((-2.47089026 -86.03059246,"
"-1.161944873 146.3030596,"
"3.40221214 145.8628015,"
"3.024695769 141.949088,"
"2.420586453 111.9554564,"
"1.208013978 -86.04069936,"
"-2.47089026 -86.03059246))",
"POLYGON((-6.213278056 -88.01851748,"
"-6.207382255 -86.51852906,"
"-6.20539951 -86.01408604,"
"-2.470873099 -86.02434575,"
"-2.472221358 -86.53315586,"
"-2.476196085 -88.03315059,"
"-6.213278056 -88.01851748))"
};
#endif // BOOST_GEOMETRY_TEST_OVERLAY_CASES_HPP #endif // BOOST_GEOMETRY_TEST_OVERLAY_CASES_HPP
+1 -1
View File
@@ -72,7 +72,7 @@ void test_gc_gc()
"1FFF0F212"); "1FFF0F212");
// Error in detail::relate::linear_linear // Error in detail::relate::linear_linear
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
test_geometry<gc_t, gc_t>("GEOMETRYCOLLECTION(LINESTRING(0 0,5 5))", test_geometry<gc_t, gc_t>("GEOMETRYCOLLECTION(LINESTRING(0 0,5 5))",
"GEOMETRYCOLLECTION(LINESTRING(0 0,5 5), LINESTRING(5 5, 6 6))", "GEOMETRYCOLLECTION(LINESTRING(0 0,5 5), LINESTRING(5 5, 6 6))",
"1FF00F102"); "1FF00F102");
@@ -380,7 +380,7 @@ void test_linestring_multi_linestring()
test_geometry<ls, mls>("LINESTRING(0 0,5 5)", test_geometry<ls, mls>("LINESTRING(0 0,5 5)",
"MULTILINESTRING((0 0,5 5),(5 5,6 6))", "MULTILINESTRING((0 0,5 5),(5 5,6 6))",
"1FF00F102"); "1FF00F102");
#ifdef BOOST_GEOMETRY_TEST_ENABLE_FAILING #ifdef BOOST_GEOMETRY_TEST_FAILURES
test_geometry<ls, mls>("LINESTRING(0 0,5 5)", test_geometry<ls, mls>("LINESTRING(0 0,5 5)",
"MULTILINESTRING((5 5,6 6),(0 0,5 5))", "MULTILINESTRING((5 5,6 6),(0 0,5 5))",
"1FF00F102"); "1FF00F102");
@@ -306,6 +306,8 @@ int test_main(int, char* [])
TEST_CASE(issue_1363); TEST_CASE(issue_1363);
#endif #endif
TEST_CASE_WITH(issue_1439, 0, 1, ut_settings().ignore_validity_diff_sym());
TEST_CASE(case_bitset_1); TEST_CASE(case_bitset_1);
TEST_CASE(case_bitset_2); TEST_CASE(case_bitset_2);
TEST_CASE(case_bitset_3); TEST_CASE(case_bitset_3);