aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_c_api.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-10-11 20:01:29 +0200
committerEven Rouault <even.rouault@spatialys.com>2020-10-11 20:01:29 +0200
commitd1a0d95da549f7d32bcd8be408afe1fca62a6fb2 (patch)
treeaaaffe1812578ec5479c5fc413d47793cd1d5bcb /test/unit/test_c_api.cpp
parentad80dc88a70032e1d96812b574b2d4d22e223394 (diff)
downloadPROJ-d1a0d95da549f7d32bcd8be408afe1fca62a6fb2.tar.gz
PROJ-d1a0d95da549f7d32bcd8be408afe1fca62a6fb2.zip
Database query: add AuthorityFactory::ObjectType::DYNAMIC_GEODETIC_REFERENCE_FRAME and DYNAMIC_VERTICAL_REFERENCE_FRAME, and make corresponding C API work
Diffstat (limited to 'test/unit/test_c_api.cpp')
-rw-r--r--test/unit/test_c_api.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp
index bd59e2bf..c7053291 100644
--- a/test/unit/test_c_api.cpp
+++ b/test/unit/test_c_api.cpp
@@ -845,6 +845,24 @@ TEST_F(CApi, proj_create_from_database) {
EXPECT_EQ(proj_get_type(datum), PJ_TYPE_GEODETIC_REFERENCE_FRAME);
}
{
+ // International Terrestrial Reference Frame 2008
+ auto datum = proj_create_from_database(
+ m_ctxt, "EPSG", "1061", PJ_CATEGORY_DATUM, false, nullptr);
+ ASSERT_NE(datum, nullptr);
+ ObjectKeeper keeper(datum);
+ EXPECT_EQ(proj_get_type(datum),
+ PJ_TYPE_DYNAMIC_GEODETIC_REFERENCE_FRAME);
+ }
+ {
+ // Norway Normal Null 2000
+ auto datum = proj_create_from_database(
+ m_ctxt, "EPSG", "1096", PJ_CATEGORY_DATUM, false, nullptr);
+ ASSERT_NE(datum, nullptr);
+ ObjectKeeper keeper(datum);
+ EXPECT_EQ(proj_get_type(datum),
+ PJ_TYPE_DYNAMIC_VERTICAL_REFERENCE_FRAME);
+ }
+ {
auto op = proj_create_from_database(m_ctxt, "EPSG", "16031",
PJ_CATEGORY_COORDINATE_OPERATION,
false, nullptr);
@@ -1197,6 +1215,14 @@ TEST_F(CApi, proj_get_codes_from_database) {
} else {
ASSERT_NE(list, nullptr) << type;
ASSERT_NE(list[0], nullptr) << type;
+ if (type == PJ_TYPE_DYNAMIC_GEODETIC_REFERENCE_FRAME ||
+ type == PJ_TYPE_DYNAMIC_VERTICAL_REFERENCE_FRAME) {
+ auto obj = proj_create_from_database(
+ m_ctxt, "EPSG", list[0], PJ_CATEGORY_DATUM, false, nullptr);
+ ASSERT_NE(obj, nullptr);
+ ObjectKeeper keeper(obj);
+ EXPECT_EQ(proj_get_type(obj), type) << type << " " << list[0];
+ }
}
}
}