diff options
Diffstat (limited to 'test/unit/test_c_api.cpp')
| -rw-r--r-- | test/unit/test_c_api.cpp | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp index 207a8cd1..8c9f114b 100644 --- a/test/unit/test_c_api.cpp +++ b/test/unit/test_c_api.cpp @@ -263,6 +263,22 @@ TEST_F(CApi, proj_obj_as_wkt) { EXPECT_TRUE(std::string(wkt).find("AXIS") == std::string::npos) << wkt; } + // OUTPUT_AXIS=AUTO + { + const char *const options[] = {"OUTPUT_AXIS=AUTO", nullptr}; + auto wkt = proj_obj_as_wkt(obj, PJ_WKT1_GDAL, options); + ASSERT_NE(wkt, nullptr); + EXPECT_TRUE(std::string(wkt).find("AXIS") == std::string::npos) << wkt; + } + + // OUTPUT_AXIS=YES + { + const char *const options[] = {"OUTPUT_AXIS=YES", nullptr}; + auto wkt = proj_obj_as_wkt(obj, PJ_WKT1_GDAL, options); + ASSERT_NE(wkt, nullptr); + EXPECT_TRUE(std::string(wkt).find("AXIS") != std::string::npos) << wkt; + } + // unsupported option { const char *const options[] = {"unsupported=yes", nullptr}; @@ -307,7 +323,7 @@ TEST_F(CApi, proj_obj_as_proj_string) { { auto proj_4 = proj_obj_as_proj_string(obj, PJ_PROJ_4, nullptr); ASSERT_NE(proj_4, nullptr); - EXPECT_EQ(std::string(proj_4), "+proj=longlat +datum=WGS84"); + EXPECT_EQ(std::string(proj_4), "+proj=longlat +datum=WGS84 +no_defs"); } } @@ -327,7 +343,7 @@ TEST_F(CApi, proj_obj_as_proj_string_incompatible_WKT1) { // --------------------------------------------------------------------------- -TEST_F(CApi, proj_obj_as_proj_string_etmerc_option) { +TEST_F(CApi, proj_obj_as_proj_string_etmerc_option_yes) { auto obj = proj_obj_create_from_proj_string(m_ctxt, "+proj=tmerc", nullptr); ObjectKeeper keeper(obj); ASSERT_NE(obj, nullptr); @@ -335,8 +351,24 @@ TEST_F(CApi, proj_obj_as_proj_string_etmerc_option) { const char *options[] = {"USE_ETMERC=YES", nullptr}; auto str = proj_obj_as_proj_string(obj, PJ_PROJ_4, options); ASSERT_NE(str, nullptr); - EXPECT_EQ(str, std::string("+proj=etmerc +lat_0=0 +lon_0=0 +k_0=1 +x_0=0 " - "+y_0=0 +datum=WGS84")); + EXPECT_EQ(str, std::string("+proj=etmerc +lat_0=0 +lon_0=0 +k=1 +x_0=0 " + "+y_0=0 +datum=WGS84 +units=m +no_defs")); +} + +// --------------------------------------------------------------------------- + +TEST_F(CApi, proj_obj_as_proj_string_etmerc_option_no) { + auto obj = + proj_obj_create_from_proj_string(m_ctxt, "+proj=utm +zone=31", nullptr); + ObjectKeeper keeper(obj); + ASSERT_NE(obj, nullptr); + + const char *options[] = {"USE_ETMERC=NO", nullptr}; + auto str = proj_obj_as_proj_string(obj, PJ_PROJ_4, options); + ASSERT_NE(str, nullptr); + EXPECT_EQ(str, std::string("+proj=tmerc +lat_0=0 +lon_0=3 +k=0.9996 " + "+x_0=500000 +y_0=0 +datum=WGS84 +units=m " + "+no_defs")); } // --------------------------------------------------------------------------- @@ -356,7 +388,8 @@ TEST_F(CApi, proj_obj_crs_create_bound_crs_to_WGS84) { EXPECT_EQ(std::string(proj_4), "+proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 " "+y_0=500000 +ellps=krass " - "+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69"); + "+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 " + "+units=m +no_defs"); } // --------------------------------------------------------------------------- |
