diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-10-08 20:59:19 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2020-11-01 12:57:34 +0100 |
| commit | 1e5acb00a0c0fc2533b9bce2e5803da10ed1d8d6 (patch) | |
| tree | df572ae12dfec9333a8931886dd3ce221a65edf8 /test/unit | |
| parent | c2b0dcc468b4e722e46fe10fca93fe70a95fcb8e (diff) | |
| download | PROJ-1e5acb00a0c0fc2533b9bce2e5803da10ed1d8d6.tar.gz PROJ-1e5acb00a0c0fc2533b9bce2e5803da10ed1d8d6.zip | |
projinfo / createObjectsFromName(): support returning a datum ensemble
Diffstat (limited to 'test/unit')
| -rw-r--r-- | test/unit/test_factory.cpp | 24 | ||||
| -rw-r--r-- | test/unit/test_io.cpp | 8 |
2 files changed, 32 insertions, 0 deletions
diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp index 681ac810..8e9b7ab6 100644 --- a/test/unit/test_factory.cpp +++ b/test/unit/test_factory.cpp @@ -3186,6 +3186,29 @@ TEST(factory, createObjectsFromName) { .size(), 1U); + { + auto res = factory->createObjectsFromName( + "World Geodetic System 1984 ensemble", + {AuthorityFactory::ObjectType::DATUM_ENSEMBLE}, false); + EXPECT_EQ(res.size(), 1U); + if (!res.empty()) { + EXPECT_EQ(res.front()->getEPSGCode(), 6326); + EXPECT_TRUE(dynamic_cast<DatumEnsemble *>(res.front().get()) != + nullptr); + } + } + + { + auto res = factory->createObjectsFromName( + "World Geodetic System 1984 ensemble", {}, false); + EXPECT_EQ(res.size(), 1U); + if (!res.empty()) { + EXPECT_EQ(res.front()->getEPSGCode(), 6326); + EXPECT_TRUE(dynamic_cast<DatumEnsemble *>(res.front().get()) != + nullptr); + } + } + const auto types = std::vector<AuthorityFactory::ObjectType>{ AuthorityFactory::ObjectType::PRIME_MERIDIAN, AuthorityFactory::ObjectType::ELLIPSOID, @@ -3207,6 +3230,7 @@ TEST(factory, createObjectsFromName) { AuthorityFactory::ObjectType::CONVERSION, AuthorityFactory::ObjectType::TRANSFORMATION, AuthorityFactory::ObjectType::CONCATENATED_OPERATION, + AuthorityFactory::ObjectType::DATUM_ENSEMBLE, }; for (const auto type : types) { factory->createObjectsFromName("i_dont_exist", {type}, false, 1); diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp index 555d1159..3d8df998 100644 --- a/test/unit/test_io.cpp +++ b/test/unit/test_io.cpp @@ -10444,6 +10444,14 @@ TEST(io, createFromUserInput) { ParsingException); EXPECT_THROW(createFromUserInput("foobar + EGM96 height", dbContext), ParsingException); + + { + auto obj = createFromUserInput("World Geodetic System 1984 ensemble", + dbContext); + auto ensemble = nn_dynamic_pointer_cast<DatumEnsemble>(obj); + ASSERT_TRUE(ensemble != nullptr); + EXPECT_EQ(ensemble->identifiers().size(), 1U); + } } // --------------------------------------------------------------------------- |
