aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_c_api.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-12-10 21:18:47 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-12-10 21:18:47 +0100
commit3e4fe5e6b5ddec8d426606ca996a81eced154adf (patch)
tree21266d51f2ce99cb66a7a34cfd9c3b2731bd7d5d /test/unit/test_c_api.cpp
parent1cc0ccbf73ba7b313bb96ccd675704dcba1b9b50 (diff)
downloadPROJ-3e4fe5e6b5ddec8d426606ca996a81eced154adf.tar.gz
PROJ-3e4fe5e6b5ddec8d426606ca996a81eced154adf.zip
C API: add proj_uom_get_info_from_database()
Diffstat (limited to 'test/unit/test_c_api.cpp')
-rw-r--r--test/unit/test_c_api.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp
index 68d349c2..cb355892 100644
--- a/test/unit/test_c_api.cpp
+++ b/test/unit/test_c_api.cpp
@@ -2607,4 +2607,41 @@ TEST_F(CApi, proj_obj_query_geodetic_crs_from_datum) {
}
}
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_uom_get_info_from_database) {
+ {
+ EXPECT_FALSE(proj_uom_get_info_from_database(
+ m_ctxt, "auth", "code", nullptr, nullptr, nullptr));
+ }
+ {
+ EXPECT_TRUE(proj_uom_get_info_from_database(m_ctxt, "EPSG", "9001",
+ nullptr, nullptr, nullptr));
+ }
+ {
+ const char *name = nullptr;
+ double conv_factor = 0.0;
+ const char *category = nullptr;
+ EXPECT_TRUE(proj_uom_get_info_from_database(
+ m_ctxt, "EPSG", "9001", &name, &conv_factor, &category));
+ ASSERT_NE(name, nullptr);
+ ASSERT_NE(category, nullptr);
+ EXPECT_EQ(std::string(name), "metre");
+ EXPECT_EQ(conv_factor, 1.0);
+ EXPECT_EQ(std::string(category), "linear");
+ }
+ {
+ const char *name = nullptr;
+ double conv_factor = 0.0;
+ const char *category = nullptr;
+ EXPECT_TRUE(proj_uom_get_info_from_database(
+ m_ctxt, "EPSG", "9102", &name, &conv_factor, &category));
+ ASSERT_NE(name, nullptr);
+ ASSERT_NE(category, nullptr);
+ EXPECT_EQ(std::string(name), "degree");
+ EXPECT_NEAR(conv_factor, UnitOfMeasure::DEGREE.conversionToSI(), 1e-10);
+ EXPECT_EQ(std::string(category), "angular");
+ }
+}
+
} // namespace