/srv/osrm/osrm-backend/third_party/libosmium/test/t/geom
NameSizeModeActions
area_helper.hpp20640644editdlrm
test_coordinates.cpp19200644editdlrm
test_crs.cpp4700644editdlrm
test_exception.cpp2800644editdlrm
test_factory_with_projection.cpp7450644editdlrm
test_geojson.cpp77050644editdlrm
test_geos.cpp57620644editdlrm
test_mercator.cpp16170644editdlrm
test_ogr.cpp39050644editdlrm
test_ogr_wkb.cpp37390644editdlrm
test_projection.cpp41020644editdlrm
test_tile.cpp33640644editdlrm
test_tile_data.hpp159720644editdlrm
test_wkb.cpp72090644editdlrm
test_wkt.cpp62120644editdlrm
wnl_helper.hpp16610644editdlrm
Edit: /srv/osrm/osrm-backend/third_party/libosmium/test/t/geom/test_projection.cpp (4102B)
#include "catch.hpp" #include #include #include TEST_CASE("Indentity Projection") { osmium::geom::IdentityProjection projection; REQUIRE(4326 == projection.epsg()); REQUIRE("+proj=longlat +datum=WGS84 +no_defs" == projection.proj_string()); } TEST_CASE("Projection 4326") { osmium::geom::Projection projection{4326}; REQUIRE(4326 == projection.epsg()); REQUIRE("+init=epsg:4326" == projection.proj_string()); const osmium::Location loc{1.0, 2.0}; const osmium::geom::Coordinates c{1.0, 2.0}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); } TEST_CASE("Projection 4326 from init string") { osmium::geom::Projection projection{"+init=epsg:4326"}; REQUIRE(-1 == projection.epsg()); REQUIRE("+init=epsg:4326" == projection.proj_string()); const osmium::Location loc{1.0, 2.0}; const osmium::geom::Coordinates c{1.0, 2.0}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); } TEST_CASE("Creating projection from unknown init string") { REQUIRE_THROWS_AS(osmium::geom::Projection{"abc"}, osmium::projection_error); } TEST_CASE("Creating projection from unknown EPSG code") { REQUIRE_THROWS_AS(osmium::geom::Projection{9999999}, osmium::projection_error); } TEST_CASE("Projection 3857") { osmium::geom::Projection projection{3857}; REQUIRE(3857 == projection.epsg()); REQUIRE("+init=epsg:3857" == projection.proj_string()); SECTION("Zero coordinates") { const osmium::Location loc{0.0, 0.0}; const osmium::geom::Coordinates c{0.0, 0.0}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); } SECTION("Max longitude") { const osmium::Location loc{180.0, 0.0}; const osmium::geom::Coordinates c{20037508.34, 0.0}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); } SECTION("Min longitude") { const osmium::Location loc{-180.0, 0.0}; const osmium::geom::Coordinates c{-20037508.34, 0.0}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); } SECTION("Max latitude") { const osmium::Location loc{0.0, 85.0511288}; const osmium::geom::Coordinates c{0.0, 20037508.34}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); } } TEST_CASE("MercatorProjection: Zero coordinates") { osmium::geom::MercatorProjection projection; const osmium::Location loc{0.0, 0.0}; const osmium::geom::Coordinates c{0.0, 0.0}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); } TEST_CASE("MercatorProjection: Max longitude") { osmium::geom::MercatorProjection projection; const osmium::Location loc{180.0, 0.0}; const osmium::geom::Coordinates c{20037508.34, 0.0}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); } TEST_CASE("MercatorProjection: Min longitude") { osmium::geom::MercatorProjection projection; const osmium::Location loc{-180.0, 0.0}; const osmium::geom::Coordinates c{-20037508.34, 0.0}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); } TEST_CASE("MercatorProjection: Max latitude") { osmium::geom::MercatorProjection projection; const osmium::Location loc{0.0, 85.0511288}; const osmium::geom::Coordinates c{0.0, 20037508.34}; REQUIRE(projection(loc).x == Approx(c.x).epsilon(0.00001)); REQUIRE(projection(loc).y == Approx(c.y).epsilon(0.00001)); }