diff --git a/test/algorithms/buffer/multi_polygon_buffer.cpp b/test/algorithms/buffer/multi_polygon_buffer.cpp index 3149036c3..05a1f10dc 100644 --- a/test/algorithms/buffer/multi_polygon_buffer.cpp +++ b/test/algorithms/buffer/multi_polygon_buffer.cpp @@ -419,6 +419,14 @@ void test_all() test_one("rt_u12", rt_u12, join_miter, end_flat, 999, 1.0); test_one("rt_u13", rt_u13, join_miter, end_flat, 115.4853, 1.0); #endif + + { + bg::strategy::buffer::join_round join_round32(32); + bg::strategy::buffer::end_round end_round32(32); + test_one("mysql_report_2015_02_17_passing", + "MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0)),((10 10,10 20,20 20,20 10,10 10)))", + join_round32, end_round32, 64*2, -1); + } } int test_main(int, char* []) diff --git a/test/algorithms/buffer/polygon_buffer.cpp b/test/algorithms/buffer/polygon_buffer.cpp index 6fc679c4e..e8f8c018c 100644 --- a/test/algorithms/buffer/polygon_buffer.cpp +++ b/test/algorithms/buffer/polygon_buffer.cpp @@ -497,6 +497,24 @@ void test_all() join_round32, end_round32, 69.117, 1.0); test_one("mysql_report_2014_10_28_3", mysql_report_2014_10_28_3, join_round32, end_round32, 63.121, 1.0); + +#ifdef BOOST_GEOMETRY_TEST_BUFFER_BUGS + test_one("mysql_report_2015_02_17", + "POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))", + join_round32, end_round32, 0, -10); +#endif + test_one("mysql_report_2015_02_17_passing_0", + "POLYGON((0 0,0 10,10 10,10 0,0 0))", + join_round32, end_round32, 0, -10); + test_one("mysql_report_2015_02_17_passing_1", + "POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))", + join_round32, end_round32, 0, -5); + test_one("mysql_report_2015_02_17_passing_2", + "POLYGON((0 0,0 10,10 10,10 0,0 0))", + join_round32, end_round32, 64, -1); + test_one("mysql_report_2015_02_17_passing_3", + "POLYGON((10 10,10 20,20 20,20 10,10 10))", + join_round32, end_round32, 64, -1); }