diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-03-13 14:31:29 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2021-03-15 16:16:32 +0100 |
| commit | 7293d657a658c2f2930326246d739fb7802b1115 (patch) | |
| tree | 2c6aff7887189ec214db39d3df8b4d8d6a075ffd /test | |
| parent | d618dcc33b5a0783565e15ad36a9fa0b8839fb7b (diff) | |
| download | PROJ-7293d657a658c2f2930326246d739fb7802b1115.tar.gz PROJ-7293d657a658c2f2930326246d739fb7802b1115.zip | |
SQL export: add support for DatumEnsemble
Diffstat (limited to 'test')
| -rw-r--r-- | test/unit/test_factory.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp index 16aa87a3..5d336d0c 100644 --- a/test/unit/test_factory.cpp +++ b/test/unit/test_factory.cpp @@ -4035,6 +4035,52 @@ TEST(factory, objectInsertion) { datum.get(), IComparable::Criterion::EQUIVALENT)); ctxt->stopInsertStatementsSession(); } + + // geodetic DatumEnsemble, and add members inline + { + auto ctxt = DatabaseContext::create(); + ctxt->startInsertStatementsSession(); + const auto ensemble = AuthorityFactory::create(ctxt, "EPSG") + ->createDatumEnsemble("6326"); // WGS84 + const auto sql = ctxt->getInsertStatementsFor(ensemble, "HOBU", "XXXX", + false, {"HOBU"}); + const auto ensembleNew = + AuthorityFactory::create(ctxt, "HOBU")->createDatumEnsemble("XXXX"); + EXPECT_TRUE(ensembleNew->isEquivalentTo( + ensemble.get(), IComparable::Criterion::EQUIVALENT)); + ctxt->stopInsertStatementsSession(); + } + + // geodetic DatumEnsemble, and reference members + { + auto ctxt = DatabaseContext::create(); + ctxt->startInsertStatementsSession(); + const auto ensemble = AuthorityFactory::create(ctxt, "EPSG") + ->createDatumEnsemble("6326"); // WGS84 + const auto sql = + ctxt->getInsertStatementsFor(ensemble, "HOBU", "XXXX", false); + const auto ensembleNew = + AuthorityFactory::create(ctxt, "HOBU")->createDatumEnsemble("XXXX"); + EXPECT_TRUE(ensembleNew->isEquivalentTo( + ensemble.get(), IComparable::Criterion::EQUIVALENT)); + ctxt->stopInsertStatementsSession(); + } + + // vertical DatumEnsemble + { + auto ctxt = DatabaseContext::create(); + ctxt->startInsertStatementsSession(); + // British Isles height ensemble + const auto ensemble = + AuthorityFactory::create(ctxt, "EPSG")->createDatumEnsemble("1288"); + const auto sql = ctxt->getInsertStatementsFor(ensemble, "HOBU", "XXXX", + false, {"HOBU"}); + const auto ensembleNew = + AuthorityFactory::create(ctxt, "HOBU")->createDatumEnsemble("XXXX"); + EXPECT_TRUE(ensembleNew->isEquivalentTo( + ensemble.get(), IComparable::Criterion::EQUIVALENT)); + ctxt->stopInsertStatementsSession(); + } } } // namespace |
