diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-10-06 23:48:46 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2020-10-08 17:31:56 +0200 |
| commit | 9dc3bf503b0455526a4d180930f8414621ea6187 (patch) | |
| tree | 853db7b562f76ba86a17ef627f7b7edacab24146 /test/unit/test_factory.cpp | |
| parent | b5369cc79eccc625419d37bb97a5361731fd8f0f (diff) | |
| download | PROJ-9dc3bf503b0455526a4d180930f8414621ea6187.tar.gz PROJ-9dc3bf503b0455526a4d180930f8414621ea6187.zip | |
Add DatumEnsemble::asDatum() and use it in exportToWkt()
to allow exporting DatumEnsemble to WKT < 2019.
Diffstat (limited to 'test/unit/test_factory.cpp')
| -rw-r--r-- | test/unit/test_factory.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp index 6b87fba6..b17a3077 100644 --- a/test/unit/test_factory.cpp +++ b/test/unit/test_factory.cpp @@ -334,6 +334,24 @@ TEST(factory, AuthorityFactory_createDatumEnsembleGeodetic) { auto extent = domain->domainOfValidity(); ASSERT_TRUE(extent != nullptr); EXPECT_TRUE(extent->isEquivalentTo(factory->createExtent("1262").get())); + + { + // Without using db + auto datum = ensemble->asDatum(nullptr); + EXPECT_EQ(datum->nameStr(), "World Geodetic System 1984"); + auto grf = dynamic_cast<GeodeticReferenceFrame *>(datum.get()); + ASSERT_TRUE(grf != nullptr); + EXPECT_TRUE(grf->isEquivalentTo(factory->createDatum("6326").get())); + } + + { + // Using db + auto datum = ensemble->asDatum(DatabaseContext::create()); + EXPECT_EQ(datum->nameStr(), "World Geodetic System 1984"); + auto grf = dynamic_cast<GeodeticReferenceFrame *>(datum.get()); + ASSERT_TRUE(grf != nullptr); + EXPECT_TRUE(grf->isEquivalentTo(factory->createDatum("6326").get())); + } } // --------------------------------------------------------------------------- @@ -354,6 +372,22 @@ TEST(factory, AuthorityFactory_createDatumEnsembleVertical) { auto extent = domain->domainOfValidity(); ASSERT_TRUE(extent != nullptr); EXPECT_TRUE(extent->isEquivalentTo(factory->createExtent("4606").get())); + + { + // Without using db + auto datum = ensemble->asDatum(nullptr); + auto vrf = dynamic_cast<VerticalReferenceFrame *>(datum.get()); + ASSERT_TRUE(vrf != nullptr); + EXPECT_TRUE(vrf->isEquivalentTo(factory->createDatum("1288").get())); + } + + { + // Using db + auto datum = ensemble->asDatum(DatabaseContext::create()); + auto vrf = dynamic_cast<VerticalReferenceFrame *>(datum.get()); + ASSERT_TRUE(vrf != nullptr); + EXPECT_TRUE(vrf->isEquivalentTo(factory->createDatum("1288").get())); + } } // --------------------------------------------------------------------------- |
