aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-12-06 21:28:16 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-12-06 21:49:59 +0100
commitf06045c2f0145ec2290913fa144cd690e70736fd (patch)
tree555131a028f47e9225eb54d836f973c84e40a816 /test
parent4022e2093a6773458c2453e42089c987da6efbf9 (diff)
downloadPROJ-f06045c2f0145ec2290913fa144cd690e70736fd.tar.gz
PROJ-f06045c2f0145ec2290913fa144cd690e70736fd.zip
Add API to retrieve non-deprecated equivalent of an object
Diffstat (limited to 'test')
-rw-r--r--test/unit/test_c_api.cpp14
-rw-r--r--test/unit/test_crs.cpp55
2 files changed, 69 insertions, 0 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp
index 20f4180b..b119d914 100644
--- a/test/unit/test_c_api.cpp
+++ b/test/unit/test_c_api.cpp
@@ -2552,4 +2552,18 @@ TEST_F(CApi, proj_obj_convert_conversion_to_other_method) {
}
}
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_get_non_deprecated) {
+ auto crs = proj_obj_create_from_database(
+ m_ctxt, "EPSG", "4226", PJ_OBJ_CATEGORY_CRS, false, nullptr);
+ ObjectKeeper keeper(crs);
+ ASSERT_NE(crs, nullptr);
+
+ auto list = proj_obj_get_non_deprecated(m_ctxt, crs);
+ ASSERT_NE(list, nullptr);
+ ObjListKeeper keeper_list(list);
+ EXPECT_EQ(proj_obj_list_get_count(list), 2);
+}
+
} // namespace
diff --git a/test/unit/test_crs.cpp b/test/unit/test_crs.cpp
index 15708606..7918ab0b 100644
--- a/test/unit/test_crs.cpp
+++ b/test/unit/test_crs.cpp
@@ -5082,3 +5082,58 @@ TEST(crs, alterParametersLinearUnit) {
<< wkt;
}
}
+
+// ---------------------------------------------------------------------------
+
+TEST(crs, getNonDeprecated) {
+ auto dbContext = DatabaseContext::create();
+ auto factory = AuthorityFactory::create(dbContext, "EPSG");
+
+ {
+ // No id
+ auto crs = ProjectedCRS::create(
+ PropertyMap(), GeographicCRS::EPSG_4326,
+ Conversion::createUTM(PropertyMap(), 31, true),
+ CartesianCS::createEastingNorthing(UnitOfMeasure::METRE));
+ auto list = crs->getNonDeprecated(dbContext);
+ ASSERT_EQ(list.size(), 0);
+ }
+
+ {
+ // Non-deprecated
+ auto crs = factory->createGeodeticCRS("4326");
+ auto list = crs->getNonDeprecated(dbContext);
+ ASSERT_EQ(list.size(), 0);
+ }
+
+ {
+ // Non supported CRS type
+ auto crs = BoundCRS::createFromTOWGS84(
+ createProjected(), std::vector<double>{1, 2, 3, 4, 5, 6, 7});
+ auto list = crs->getNonDeprecated(dbContext);
+ ASSERT_EQ(list.size(), 0);
+ }
+
+ {
+ auto crs = factory->createGeodeticCRS("4226");
+ auto list = crs->getNonDeprecated(dbContext);
+ ASSERT_EQ(list.size(), 2);
+ }
+
+ {
+ auto crs = factory->createProjectedCRS("26591");
+ auto list = crs->getNonDeprecated(dbContext);
+ ASSERT_EQ(list.size(), 1);
+ }
+
+ {
+ auto crs = factory->createVerticalCRS("5704");
+ auto list = crs->getNonDeprecated(dbContext);
+ ASSERT_EQ(list.size(), 1);
+ }
+ {
+ auto crs = factory->createCompoundCRS("7401");
+ auto list = crs->getNonDeprecated(dbContext);
+ ASSERT_EQ(list.size(), 1);
+ }
+}