aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-12-03 18:13:05 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-12-03 22:19:21 +0100
commit0ba9d249136ec7adf6e3a44c8148701818d0e63e (patch)
treedf8b68e9aa03c724a5cec632717f7b005217e961 /test
parentac24807d189e2deea969656a229aad7a8c1236c6 (diff)
downloadPROJ-0ba9d249136ec7adf6e3a44c8148701818d0e63e.tar.gz
PROJ-0ba9d249136ec7adf6e3a44c8148701818d0e63e.zip
projinfo: add a --area option (refs #1188)
Diffstat (limited to 'test')
-rwxr-xr-xtest/cli/testprojinfo25
-rw-r--r--test/cli/testprojinfo_out.dist29
-rw-r--r--test/unit/test_factory.cpp22
3 files changed, 76 insertions, 0 deletions
diff --git a/test/cli/testprojinfo b/test/cli/testprojinfo
index ad62d1da..90829fdd 100755
--- a/test/cli/testprojinfo
+++ b/test/cli/testprojinfo
@@ -49,6 +49,31 @@ echo "Testing projinfo -s NAD27 -t NAD83 --grid-check none --spatial-test inters
$EXE -s NAD27 -t NAD83 --grid-check none --spatial-test intersects >>${OUT}
echo "" >>${OUT}
+echo "Testing projinfo -s EPSG:4230 -t EPSG:4258 --bbox 8,54.51,15.24,57.8 --summary" >> ${OUT}
+$EXE -s EPSG:4230 -t EPSG:4258 --bbox 8,54.51,15.24,57.8 --summary >>${OUT}
+echo "" >>${OUT}
+
+echo "Testing projinfo -s EPSG:4230 -t EPSG:4258 --area EPSG:3237 --summary" >> ${OUT}
+$EXE -s EPSG:4230 -t EPSG:4258 --area EPSG:3237 --summary >>${OUT}
+echo "" >>${OUT}
+
+echo "Testing projinfo -s EPSG:4230 -t EPSG:4258 --area 'Denmark - onshore' --summary" >> ${OUT}
+$EXE -s EPSG:4230 -t EPSG:4258 --area 'Denmark - onshore' --summary >>${OUT}
+echo "" >>${OUT}
+
+# several match
+echo "Testing projinfo -s EPSG:4230 -t EPSG:4258 --area 'Denmark -' --summary" >> ${OUT}
+$EXE -s EPSG:4230 -t EPSG:4258 --area 'Denmark -' --summary >>${OUT} 2>&1
+echo "" >>${OUT}
+
+echo "Testing projinfo -s EPSG:4230 -t EPSG:4258 --area no_match --summary" >> ${OUT}
+$EXE -s EPSG:4230 -t EPSG:4258 --area no_match --summary >>${OUT} 2>&1
+echo "" >>${OUT}
+
+echo "Testing projinfo -s EPSG:4230 -t EPSG:4258 --area WRONG:CODE --summary" >> ${OUT}
+$EXE -s EPSG:4230 -t EPSG:4258 --area WRONG:CODE --summary >>${OUT} 2>&1
+echo "" >>${OUT}
+
# do 'diff' with distribution results
echo "diff ${OUT} with testprojinfo_out.dist"
diff -u ${OUT} ${TEST_CLI_DIR}/testprojinfo_out.dist
diff --git a/test/cli/testprojinfo_out.dist b/test/cli/testprojinfo_out.dist
index 7cb4891b..f3d4854a 100644
--- a/test/cli/testprojinfo_out.dist
+++ b/test/cli/testprojinfo_out.dist
@@ -496,3 +496,32 @@ COORDINATEOPERATION["NAD27 to NAD83 (6)",
BBOX[44.99,-79.85,62.62,-57.1],
ID["EPSG",1573]]
+Testing projinfo -s EPSG:4230 -t EPSG:4258 --bbox 8,54.51,15.24,57.8 --summary
+Candidate operations found: 1
+EPSG:1626, ED50 to ETRS89 (4), 1.0 m, Denmark - onshore
+
+Testing projinfo -s EPSG:4230 -t EPSG:4258 --area EPSG:3237 --summary
+Candidate operations found: 1
+EPSG:1626, ED50 to ETRS89 (4), 1.0 m, Denmark - onshore
+
+Testing projinfo -s EPSG:4230 -t EPSG:4258 --area 'Denmark - onshore' --summary
+Candidate operations found: 1
+EPSG:1626, ED50 to ETRS89 (4), 1.0 m, Denmark - onshore
+
+Testing projinfo -s EPSG:4230 -t EPSG:4258 --area 'Denmark -' --summary
+Several candidates area of use matching provided name :
+ EPSG:2531 : Denmark - onshore Jutland and Funen
+ EPSG:2532 : Denmark - onshore Zealand and Lolland
+ EPSG:2533 : Denmark - onshore Bornholm
+ EPSG:3237 : Denmark - onshore
+ EPSG:3471 : Denmark - onshore west of 12°E
+ EPSG:3472 : Denmark - onshore east of 12°E
+ EPSG:3631 : Denmark - onshore Jutland west of 10°E
+ EPSG:3632 : Denmark - onshore Jutland east of 9°E and Funen
+
+Testing projinfo -s EPSG:4230 -t EPSG:4258 --area no_match --summary
+No area of use matching provided name
+
+Testing projinfo -s EPSG:4230 -t EPSG:4258 --area WRONG:CODE --summary
+Area of use retrieval failed: area not found
+
diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp
index 7cdb0b40..c30111ce 100644
--- a/test/unit/test_factory.cpp
+++ b/test/unit/test_factory.cpp
@@ -2746,4 +2746,26 @@ TEST(factory, getMetadata) {
EXPECT_EQ(std::string(IGNF_VERSION), "3.0.2");
}
+// ---------------------------------------------------------------------------
+
+TEST(factory, listAreaOfUseFromName) {
+ auto ctxt = DatabaseContext::create();
+ auto factory = AuthorityFactory::create(ctxt, std::string());
+ auto factoryEPSG = AuthorityFactory::create(ctxt, "EPSG");
+ {
+ auto res = factory->listAreaOfUseFromName("Denmark - onshore", false);
+ ASSERT_EQ(res.size(), 1);
+ EXPECT_EQ(res.front().first, "EPSG");
+ EXPECT_EQ(res.front().second, "3237");
+ }
+ {
+ auto res = factory->listAreaOfUseFromName("Denmark", true);
+ EXPECT_GT(res.size(), 1U);
+ }
+ {
+ auto res = factory->listAreaOfUseFromName("no where land", false);
+ ASSERT_EQ(res.size(), 0);
+ }
+}
+
} // namespace