diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2018-12-06 21:28:16 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2018-12-06 21:49:59 +0100 |
| commit | f06045c2f0145ec2290913fa144cd690e70736fd (patch) | |
| tree | 555131a028f47e9225eb54d836f973c84e40a816 /test | |
| parent | 4022e2093a6773458c2453e42089c987da6efbf9 (diff) | |
| download | PROJ-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.cpp | 14 | ||||
| -rw-r--r-- | test/unit/test_crs.cpp | 55 |
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); + } +} |
