mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-01 08:32:10 +00:00
[test] make exceptions for invalid polygons or (union) 3 ccw cases which
are not yet created as valid
This commit is contained in:
@@ -39,6 +39,8 @@ void test_areal()
|
||||
ut_settings ignore_validity;
|
||||
ignore_validity.test_validity = false;
|
||||
|
||||
bool const ccw = bg::point_order<Polygon>::value == bg::counterclockwise;
|
||||
|
||||
test_one<Polygon, Polygon, Polygon>("simplex_normal",
|
||||
simplex_normal[0], simplex_normal[1],
|
||||
1, 0, 13, 11.526367);
|
||||
@@ -189,8 +191,17 @@ void test_areal()
|
||||
test_one<Polygon, Polygon, Polygon>("59_iet",
|
||||
case_59[0], case_59[2], 1, 1, 14, 17.20833);
|
||||
|
||||
test_one<Polygon, Polygon, Polygon>("80",
|
||||
case_80[0], case_80[1], 2, 2, 18, 129.0);
|
||||
if (! ccw)
|
||||
{
|
||||
test_one<Polygon, Polygon, Polygon>("80",
|
||||
case_80[0], case_80[1], 2, 2, 18, 129.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
test_one<Polygon, Polygon, Polygon>("80",
|
||||
case_80[0], case_80[1], 2, 0, 18, 129.0,
|
||||
ignore_validity);
|
||||
}
|
||||
|
||||
test_one<Polygon, Polygon, Polygon>("81",
|
||||
case_81[0], case_81[1], 1, 2, 15, 163.5);
|
||||
@@ -444,12 +455,26 @@ void test_areal()
|
||||
test_one<Polygon, Polygon, Polygon>("buffer_mp2", buffer_mp2[0], buffer_mp2[1],
|
||||
1, 1, 217, 36.752837);
|
||||
|
||||
test_one<Polygon, Polygon, Polygon>("mysql_21964079_1",
|
||||
mysql_21964079_1[0], mysql_21964079_1[1],
|
||||
2, 1, -1, 234.5);
|
||||
test_one<Polygon, Polygon, Polygon>("mysql_21964079_2",
|
||||
mysql_21964079_2[0], mysql_21964079_2[1],
|
||||
2, 1, -1, 112.0);
|
||||
if (! ccw)
|
||||
{
|
||||
test_one<Polygon, Polygon, Polygon>("mysql_21964079_1",
|
||||
mysql_21964079_1[0], mysql_21964079_1[1],
|
||||
2, 1, -1, 234.5);
|
||||
test_one<Polygon, Polygon, Polygon>("mysql_21964079_2",
|
||||
mysql_21964079_2[0], mysql_21964079_2[1],
|
||||
2, 1, -1, 112.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
test_one<Polygon, Polygon, Polygon>("mysql_21964079_1",
|
||||
mysql_21964079_1[0], mysql_21964079_1[1],
|
||||
2, 0, -1, 234.5,
|
||||
ignore_validity);
|
||||
test_one<Polygon, Polygon, Polygon>("mysql_21964079_2",
|
||||
mysql_21964079_2[0], mysql_21964079_2[1],
|
||||
2, 0, -1, 112.0,
|
||||
ignore_validity);
|
||||
}
|
||||
// #holes should be 1
|
||||
test_one<Polygon, Polygon, Polygon>("mysql_21964049",
|
||||
mysql_21964049[0], mysql_21964049[1],
|
||||
|
||||
@@ -39,6 +39,9 @@ void test_areal()
|
||||
ut_settings ignore_validity;
|
||||
ignore_validity.test_validity = false;
|
||||
|
||||
// Some output is only invalid for CCW
|
||||
bool const ccw = bg::point_order<Polygon>::value == bg::counterclockwise;
|
||||
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("simplex_multi",
|
||||
case_multi_simplex[0], case_multi_simplex[1],
|
||||
1, 0, 20, 14.58);
|
||||
@@ -229,6 +232,7 @@ void test_areal()
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_13",
|
||||
case_recursive_boxes_13[0], case_recursive_boxes_13[1],
|
||||
3, 0, -1, 10.25);
|
||||
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_14",
|
||||
case_recursive_boxes_14[0], case_recursive_boxes_14[1],
|
||||
5, 0, -1, 4.5);
|
||||
@@ -237,9 +241,22 @@ void test_areal()
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_12_invalid",
|
||||
case_recursive_boxes_12_invalid[0], case_recursive_boxes_12_invalid[1],
|
||||
6, 0, -1, 6.0);
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_13_invalid",
|
||||
case_recursive_boxes_13_invalid[0], case_recursive_boxes_13_invalid[1],
|
||||
3, 0, -1, 10.25);
|
||||
|
||||
if (! ccw)
|
||||
{
|
||||
// Handling this invalid input delivers invalid results for CCW
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_13_invalid",
|
||||
case_recursive_boxes_13_invalid[0], case_recursive_boxes_13_invalid[1],
|
||||
3, 0, -1, 10.25);
|
||||
}
|
||||
else
|
||||
{
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_13_invalid",
|
||||
case_recursive_boxes_13_invalid[0], case_recursive_boxes_13_invalid[1],
|
||||
2, 0, -1, 10.25,
|
||||
ignore_validity);
|
||||
}
|
||||
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_14_invalid",
|
||||
case_recursive_boxes_14_invalid[0], case_recursive_boxes_14_invalid[1],
|
||||
5, 0, -1, 4.5);
|
||||
|
||||
Reference in New Issue
Block a user