[TEST] Add two testcases

This commit is contained in:
Barend Gehrels 2019-05-29 16:42:57 +02:00
parent 5eed0d779d
commit 1465e26502
3 changed files with 20 additions and 0 deletions

View File

@ -826,6 +826,18 @@ static std::string case_precision_20[2] =
"POLYGON((2 7,4 7,4 3,2.00000000000000044 3,2 7))"
};
static std::string case_precision_21[2] =
{
"POLYGON((0 0,0 4,2 4,2 3,4 3,4 0,0 0))",
"POLYGON((2 7,4 7,4 3.00001000000000007,2 3,2 7))"
};
static std::string case_precision_22[2] =
{
"POLYGON((0 0,0 4,2 4,2 3,4 3,4 0,0 0))",
"POLYGON((-1 -1,-1 8,8 8,8 -1,-1 -1),(2 7,2 3,4.00000000200000017 2.99999999000000006,4 7,2 7))"
};
// ticket_17 is keyholed, so has a hole formed by an deliberate intersection
// This will fail the intersection/traversal process

View File

@ -386,6 +386,8 @@ void test_areal()
TEST_INTERSECTION(case_precision_18, 1, -1, 14.0);
TEST_INTERSECTION(case_precision_19, 1, -1, 14.0);
TEST_INTERSECTION(case_precision_20, 0, 0, 0.0);
TEST_INTERSECTION(case_precision_21, 0, 0, 0.0);
TEST_INTERSECTION(case_precision_22, 1, -1, 14.0);
TEST_INTERSECTION_REV(case_precision_1, 0, 0, 0.0);
TEST_INTERSECTION_REV(case_precision_2, 0, 0, 0.0);
@ -406,6 +408,8 @@ void test_areal()
TEST_INTERSECTION_REV(case_precision_18, 1, -1, 14.0);
TEST_INTERSECTION_REV(case_precision_19, 1, -1, 14.0);
TEST_INTERSECTION_REV(case_precision_20, 0, 0, 0.0);
TEST_INTERSECTION_REV(case_precision_21, 0, 0, 0.0);
TEST_INTERSECTION_REV(case_precision_22, 1, -1, 14.0);
test_one<Polygon, Polygon, Polygon>("mysql_21964049",
mysql_21964049[0], mysql_21964049[1],

View File

@ -277,6 +277,8 @@ void test_areal()
#if defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
TEST_UNION(case_precision_20, 1, 0, -1, 22.0);
#endif
TEST_UNION(case_precision_21, 1, 0, -1, 22.0);
TEST_UNION(case_precision_22, 1, 1, -1, 73.0);
TEST_UNION_REV(case_precision_1, 1, 0, -1, 22.0);
TEST_UNION_REV(case_precision_2, 1, 0, -1, 22.0);
@ -300,6 +302,8 @@ void test_areal()
#if defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
TEST_UNION_REV(case_precision_20, 1, 0, -1, 22.0);
#endif
TEST_UNION_REV(case_precision_21, 1, 0, -1, 22.0);
TEST_UNION_REV(case_precision_22, 1, 1, -1, 73.0);
/*
test_one<Polygon, Polygon, Polygon>(102,