aboutsummaryrefslogtreecommitdiff
path: root/test/unit
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/test_crs.cpp19
-rw-r--r--test/unit/test_io.cpp25
2 files changed, 43 insertions, 1 deletions
diff --git a/test/unit/test_crs.cpp b/test/unit/test_crs.cpp
index c2031081..a0fee905 100644
--- a/test/unit/test_crs.cpp
+++ b/test/unit/test_crs.cpp
@@ -3593,7 +3593,7 @@ TEST(crs, verticalCRS_as_WKT1_GDAL) {
TEST(crs, verticalCRS_as_WKT1_ESRI) {
auto crs = createVerticalCRS();
- auto expected = "VERTCS[\"ODN height\",VDATUM[\"Ordnance Datum Newlyn\"],"
+ auto expected = "VERTCS[\"ODN_height\",VDATUM[\"Ordnance_Datum_Newlyn\"],"
"PARAMETER[\"Vertical_Shift\",0.0],"
"PARAMETER[\"Direction\",1.0],"
"UNIT[\"Meter\",1.0]]";
@@ -3603,6 +3603,23 @@ TEST(crs, verticalCRS_as_WKT1_ESRI) {
WKTFormatter::create(WKTFormatter::Convention::WKT1_ESRI).get()),
expected);
}
+
+// ---------------------------------------------------------------------------
+
+TEST(crs, verticalCRS_as_WKT1_ESRI_context) {
+ auto crs = createVerticalCRS();
+ auto expected = "VERTCS[\"Newlyn\",VDATUM[\"Ordnance_Datum_Newlyn\"],"
+ "PARAMETER[\"Vertical_Shift\",0.0],"
+ "PARAMETER[\"Direction\",1.0],"
+ "UNIT[\"Meter\",1.0]]";
+
+ EXPECT_EQ(crs->exportToWKT(
+ WKTFormatter::create(WKTFormatter::Convention::WKT1_ESRI,
+ DatabaseContext::create())
+ .get()),
+ expected);
+}
+
// ---------------------------------------------------------------------------
TEST(crs, verticalCRS_down_as_WKT1_ESRI) {
diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp
index 1be0f2aa..055b1e1d 100644
--- a/test/unit/test_io.cpp
+++ b/test/unit/test_io.cpp
@@ -2106,6 +2106,31 @@ TEST(wkt_parse, VERTCS_WKT1_ESRI) {
// ---------------------------------------------------------------------------
+TEST(wkt_parse, VERTCS_WKT1_ESRI_context) {
+ auto wkt = "VERTCS[\"EGM2008_Geoid\",VDATUM[\"EGM2008_Geoid\"],"
+ "PARAMETER[\"Vertical_Shift\",0.0],"
+ "PARAMETER[\"Direction\",1.0],UNIT[\"Meter\",1.0]]";
+
+ auto obj = WKTParser()
+ .attachDatabaseContext(DatabaseContext::create())
+ .createFromWKT(wkt);
+ auto crs = nn_dynamic_pointer_cast<VerticalCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_EQ(crs->nameStr(), "EGM2008 height");
+
+ auto datum = crs->datum();
+ EXPECT_EQ(datum->nameStr(), "EGM2008 geoid");
+
+ auto cs = crs->coordinateSystem();
+ ASSERT_EQ(cs->axisList().size(), 1U);
+ EXPECT_EQ(cs->axisList()[0]->direction(), AxisDirection::UP);
+
+ EXPECT_EQ(WKTParser().guessDialect(wkt),
+ WKTParser::WKTGuessedDialect::WKT1_ESRI);
+}
+
+// ---------------------------------------------------------------------------
+
TEST(wkt_parse, VERTCS_WKT1_ESRI_down) {
auto wkt = "VERTCS[\"Caspian\",VDATUM[\"Caspian_Sea\"],"
"PARAMETER[\"Vertical_Shift\",0.0],"