aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-03-13 14:31:29 +0100
committerEven Rouault <even.rouault@spatialys.com>2021-03-15 16:16:32 +0100
commit7293d657a658c2f2930326246d739fb7802b1115 (patch)
tree2c6aff7887189ec214db39d3df8b4d8d6a075ffd /test
parentd618dcc33b5a0783565e15ad36a9fa0b8839fb7b (diff)
downloadPROJ-7293d657a658c2f2930326246d739fb7802b1115.tar.gz
PROJ-7293d657a658c2f2930326246d739fb7802b1115.zip
SQL export: add support for DatumEnsemble
Diffstat (limited to 'test')
-rw-r--r--test/unit/test_factory.cpp46
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