aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_c_api.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-03-16 17:55:36 +0100
committerGitHub <noreply@github.com>2020-03-16 17:55:36 +0100
commit175cbad0a7ca202cefff33f240100b01752f8f73 (patch)
tree3969a91e8499312c698d928f262d219d91aaea3b /test/unit/test_c_api.cpp
parent78eaa34a4816fd9a36e902adae4663f13bc39fab (diff)
parent2247841879faebe007ccade45d04027361d5d26c (diff)
downloadPROJ-175cbad0a7ca202cefff33f240100b01752f8f73.tar.gz
PROJ-175cbad0a7ca202cefff33f240100b01752f8f73.zip
Merge pull request #2065 from rouault/add_proj_get_units_from_database
Add proj_get_units_from_database() (fixes #2004)
Diffstat (limited to 'test/unit/test_c_api.cpp')
-rw-r--r--test/unit/test_c_api.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp
index 0f1b906e..bcd14c0f 100644
--- a/test/unit/test_c_api.cpp
+++ b/test/unit/test_c_api.cpp
@@ -3401,6 +3401,48 @@ TEST_F(CApi, proj_get_crs_info_list_from_database) {
// ---------------------------------------------------------------------------
+TEST_F(CApi, proj_get_units_from_database) {
+ { proj_unit_list_destroy(nullptr); }
+
+ {
+ auto list = proj_get_units_from_database(nullptr, nullptr, nullptr,
+ true, nullptr);
+ ASSERT_NE(list, nullptr);
+ ASSERT_NE(list[0], nullptr);
+ ASSERT_NE(list[0]->auth_name, nullptr);
+ ASSERT_NE(list[0]->code, nullptr);
+ ASSERT_NE(list[0]->name, nullptr);
+ proj_unit_list_destroy(list);
+ }
+
+ {
+ int result_count = 0;
+ auto list = proj_get_units_from_database(nullptr, "EPSG", "linear",
+ false, &result_count);
+ ASSERT_NE(list, nullptr);
+ EXPECT_GT(result_count, 1);
+ EXPECT_EQ(list[result_count], nullptr);
+ bool found9001 = false;
+ for (int i = 0; i < result_count; i++) {
+ EXPECT_EQ(std::string(list[i]->auth_name), "EPSG");
+ if (std::string(list[i]->code) == "9001") {
+ EXPECT_EQ(std::string(list[i]->name), "metre");
+ EXPECT_EQ(std::string(list[i]->category), "linear");
+ EXPECT_EQ(list[i]->conv_factor, 1.0);
+ ASSERT_NE(list[i]->proj_short_name, nullptr);
+ EXPECT_EQ(std::string(list[i]->proj_short_name), "m");
+ EXPECT_EQ(list[i]->deprecated, 0);
+ found9001 = true;
+ }
+ EXPECT_EQ(list[i]->deprecated, 0);
+ }
+ EXPECT_TRUE(found9001);
+ proj_unit_list_destroy(list);
+ }
+}
+
+// ---------------------------------------------------------------------------
+
TEST_F(CApi, proj_normalize_for_visualization) {
{