1818
1919TEST_CASE (" polygon geometry without inner" , " [NoDB]" )
2020{
21+ // POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))
2122 geom::geometry_t const geom{
2223 geom::polygon_t {geom::ring_t {{0 , 0 }, {0 , 1 }, {1 , 1 }, {1 , 0 }, {0 , 0 }}}};
2324
2425 REQUIRE (dimension (geom) == 2 );
2526 REQUIRE (num_geometries (geom) == 1 );
2627 REQUIRE (area (geom) == Approx (1.0 ));
28+ REQUIRE (spherical_area (geom) == Approx (12364031798.5 ));
2729 REQUIRE (length (geom) == Approx (0.0 ));
2830 REQUIRE (geometry_type (geom) == " POLYGON" );
2931 REQUIRE (centroid (geom) == geom::geometry_t {geom::point_t {0.5 , 0.5 }});
@@ -32,12 +34,14 @@ TEST_CASE("polygon geometry without inner", "[NoDB]")
3234
3335TEST_CASE (" polygon geometry without inner (reverse)" , " [NoDB]" )
3436{
37+ // POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))
3538 geom::geometry_t const geom{
3639 geom::polygon_t {geom::ring_t {{0 , 0 }, {1 , 0 }, {1 , 1 }, {0 , 1 }, {0 , 0 }}}};
3740
3841 REQUIRE (dimension (geom) == 2 );
3942 REQUIRE (num_geometries (geom) == 1 );
4043 REQUIRE (area (geom) == Approx (1.0 ));
44+ REQUIRE (spherical_area (geom) == Approx (12364031798.5 ));
4145 REQUIRE (length (geom) == Approx (0.0 ));
4246 REQUIRE (geometry_type (geom) == " POLYGON" );
4347 REQUIRE (centroid (geom) == geom::geometry_t {geom::point_t {0.5 , 0.5 }});
@@ -48,6 +52,8 @@ TEST_CASE("geom::polygon_t", "[NoDB]")
4852 geom::polygon_t polygon;
4953
5054 REQUIRE (polygon.outer ().empty ());
55+
56+ // POLYGON((0 0, 0 3, 3 3, 3 0, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1))
5157 polygon.outer () = geom::ring_t {{0 , 0 }, {0 , 3 }, {3 , 3 }, {3 , 0 }, {0 , 0 }};
5258 polygon.inners ().emplace_back (
5359 geom::ring_t {{1 , 1 }, {2 , 1 }, {2 , 2 }, {1 , 2 }, {1 , 1 }});
@@ -59,6 +65,7 @@ TEST_CASE("geom::polygon_t", "[NoDB]")
5965 REQUIRE (dimension (geom) == 2 );
6066 REQUIRE (num_geometries (geom) == 1 );
6167 REQUIRE (area (geom) == Approx (8.0 ));
68+ REQUIRE (spherical_area (geom) == Approx (98893356298.4 ));
6269 REQUIRE (length (geom) == Approx (0.0 ));
6370 REQUIRE (geometry_type (geom) == " POLYGON" );
6471 REQUIRE (centroid (geom) == geom::geometry_t {geom::point_t {1.5 , 1.5 }});
0 commit comments