aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_c_api.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-12-10 23:55:00 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-12-10 23:55:00 +0100
commitc2c2e5d7f22f3c44c188200717236cf23547ac6f (patch)
tree1010b53e93ff7b407f4c09706868e2be69332900 /test/unit/test_c_api.cpp
parentb51e1159cc59df1bc89f521ed0217f86550fd941 (diff)
downloadPROJ-c2c2e5d7f22f3c44c188200717236cf23547ac6f.tar.gz
PROJ-c2c2e5d7f22f3c44c188200717236cf23547ac6f.zip
C API: add extra output parameters to proj_coordoperation_get_param()
Diffstat (limited to 'test/unit/test_c_api.cpp')
-rw-r--r--test/unit/test_c_api.cpp30
1 files changed, 19 insertions, 11 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp
index a49e9501..772519ea 100644
--- a/test/unit/test_c_api.cpp
+++ b/test/unit/test_c_api.cpp
@@ -990,10 +990,8 @@ TEST_F(CApi, proj_get_codes_from_database) {
// ---------------------------------------------------------------------------
TEST_F(CApi, conversion) {
- auto crs = proj_obj_create_from_wkt(
- m_ctxt,
- createProjectedCRS()->exportToWKT(WKTFormatter::create().get()).c_str(),
- nullptr);
+ auto crs = proj_obj_create_from_database(
+ m_ctxt, "EPSG", "32631", PJ_OBJ_CATEGORY_CRS, false, nullptr);
ASSERT_NE(crs, nullptr);
ObjectKeeper keeper(crs);
@@ -1034,12 +1032,12 @@ TEST_F(CApi, conversion) {
EXPECT_EQ(
proj_coordoperation_get_param_index(m_ctxt, conv, "False easting"), 3);
- EXPECT_FALSE(proj_coordoperation_get_param(m_ctxt, conv, -1, nullptr,
- nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr));
- EXPECT_FALSE(proj_coordoperation_get_param(m_ctxt, conv, 5, nullptr,
- nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr));
+ EXPECT_FALSE(proj_coordoperation_get_param(
+ m_ctxt, conv, -1, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr, nullptr));
+ EXPECT_FALSE(proj_coordoperation_get_param(
+ m_ctxt, conv, 5, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr, nullptr));
const char *name = nullptr;
const char *nameAuthorityName = nullptr;
@@ -1048,20 +1046,30 @@ TEST_F(CApi, conversion) {
const char *valueString = nullptr;
double valueUnitConvFactor = 0;
const char *valueUnitName = nullptr;
+ const char *unitAuthName = nullptr;
+ const char *unitCode = nullptr;
+ const char *unitCategory = nullptr;
EXPECT_TRUE(proj_coordoperation_get_param(
m_ctxt, conv, 3, &name, &nameAuthorityName, &nameCode, &value,
- &valueString, &valueUnitConvFactor, &valueUnitName));
+ &valueString, &valueUnitConvFactor, &valueUnitName, &unitAuthName,
+ &unitCode, &unitCategory));
ASSERT_NE(name, nullptr);
ASSERT_NE(nameAuthorityName, nullptr);
ASSERT_NE(nameCode, nullptr);
EXPECT_EQ(valueString, nullptr);
ASSERT_NE(valueUnitName, nullptr);
+ ASSERT_NE(unitAuthName, nullptr);
+ ASSERT_NE(unitCategory, nullptr);
+ ASSERT_NE(unitCategory, nullptr);
EXPECT_EQ(name, std::string("False easting"));
EXPECT_EQ(nameAuthorityName, std::string("EPSG"));
EXPECT_EQ(nameCode, std::string("8806"));
EXPECT_EQ(value, 500000.0);
EXPECT_EQ(valueUnitConvFactor, 1.0);
EXPECT_EQ(valueUnitName, std::string("metre"));
+ EXPECT_EQ(unitAuthName, std::string("EPSG"));
+ EXPECT_EQ(unitCode, std::string("9001"));
+ EXPECT_EQ(unitCategory, std::string("linear"));
}
// ---------------------------------------------------------------------------