]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/geometry/test/srs/par4.cpp
Add patch for failing prerm scripts
[ceph.git] / ceph / src / boost / libs / geometry / test / srs / par4.cpp
CommitLineData
11fdf7f2
TL
1// Boost.Geometry
2// Unit Test
3
4// Copyright (c) 2018, Oracle and/or its affiliates.
5// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
6
7// Use, modification and distribution is subject to the Boost Software License,
8// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
9// http://www.boost.org/LICENSE_1_0.txt)
10
11
12#include <geometry_test_common.hpp>
13
14#include <boost/geometry/srs/projection.hpp>
15
16
17namespace srs = bg::srs;
18namespace par = bg::srs::par4;
19
20
21int test_main(int, char* [])
22{
23 typedef par::proj<par::aea> proj;
24 typedef par::ellps<par::clrk80> ellps;
25 typedef par::datum<par::ire65> datum;
26 typedef par::o_proj<par::tmerc> o_proj;
27 typedef par::guam guam;
28
29 /*BOOST_MPL_ASSERT_MSG((par::detail::is_proj<proj>::value),
30 PROJ, (proj));
31 BOOST_MPL_ASSERT_MSG((!par::detail::is_proj<int>::value),
32 NOT_PROJ, (int));
33
34 BOOST_MPL_ASSERT_MSG((par::detail::is_ellps<ellps>::value),
35 ELLPS, (ellps));
36 BOOST_MPL_ASSERT_MSG((!par::detail::is_ellps<int>::value),
37 NOT_ELLPS, (int));
38
39 BOOST_MPL_ASSERT_MSG((par::detail::is_datum<datum>::value),
40 DATUM, (datum));
41 BOOST_MPL_ASSERT_MSG((!par::detail::is_datum<int>::value),
42 NOT_DATUM, (int));
43
44 BOOST_MPL_ASSERT_MSG((par::detail::is_o_proj<o_proj>::value),
45 O_PROJ, (o_proj));
46 BOOST_MPL_ASSERT_MSG((!par::detail::is_o_proj<int>::value),
47 NOT_O_PROJ, (int));
48
49 BOOST_MPL_ASSERT_MSG((par::detail::is_guam<guam>::value),
50 GUAM, (guam));
51 BOOST_MPL_ASSERT_MSG((!par::detail::is_guam<int>::value),
52 NOT_GUAM, (int));*/
53
54 BOOST_MPL_ASSERT_MSG((par::detail::is_param_t<par::proj>::pred<proj>::value),
55 PROJ, (proj));
56 BOOST_MPL_ASSERT_MSG((!par::detail::is_param_t<par::proj>::pred<int>::value),
57 NOT_PROJ, (int));
58
59 BOOST_MPL_ASSERT_MSG((par::detail::is_param_t<par::ellps>::pred<ellps>::value),
60 ELLPS, (ellps));
61 BOOST_MPL_ASSERT_MSG((!par::detail::is_param_t<par::ellps>::pred<int>::value),
62 NOT_ELLPS, (int));
63
64 BOOST_MPL_ASSERT_MSG((par::detail::is_param_t<par::datum>::pred<datum>::value),
65 DATUM, (datum));
66 BOOST_MPL_ASSERT_MSG((!par::detail::is_param_t<par::datum>::pred<int>::value),
67 NOT_DATUM, (int));
68
69 BOOST_MPL_ASSERT_MSG((par::detail::is_param_t<par::o_proj>::pred<o_proj>::value),
70 O_PROJ, (o_proj));
71 BOOST_MPL_ASSERT_MSG((!par::detail::is_param_t<par::o_proj>::pred<int>::value),
72 NOT_O_PROJ, (int));
73
74 BOOST_MPL_ASSERT_MSG((par::detail::is_param<par::guam>::pred<guam>::value),
75 GUAM, (guam));
76 BOOST_MPL_ASSERT_MSG((!par::detail::is_param<par::guam>::pred<int>::value),
77 NOT_GUAM, (int));
78
79 typedef srs::static_proj4<proj, ellps, datum, o_proj, guam> params;
80 typedef srs::static_proj4<proj, ellps> params_e;
81 typedef srs::static_proj4<proj, datum> params_d;
82 typedef srs::static_proj4<proj> params_0;
83
84 BOOST_MPL_ASSERT_MSG((boost::is_same<par::detail::pick_proj_tag<params>::type, par::aea>::value),
85 PICK_PROJ, (params));
86 BOOST_MPL_ASSERT_MSG((boost::is_same<par::detail::pick_ellps<params>::type::type, par::clrk80>::value),
87 PICK_ELLPS, (params));
88 BOOST_MPL_ASSERT_MSG((boost::is_same<par::detail::pick_o_proj_tag<params>::type, par::tmerc>::value),
89 PICK_O_PROJ, (params));
90 BOOST_MPL_ASSERT_MSG((boost::is_same<par::detail::pick_ellps<params_e>::type::type, par::clrk80>::value),
91 PICK_ELLPS_E, (params_e));
92 BOOST_MPL_ASSERT_MSG((boost::is_same<par::detail::pick_ellps<params_d>::type::type, par::mod_airy>::value),
93 PICK_ELLPS_D, (params_d));
94 //default ellps WGS84
95 BOOST_MPL_ASSERT_MSG((boost::is_same<par::detail::pick_ellps<params_0>::type::type, par::WGS84>::value),
96 PICK_NO_ELLPS, (params_0));
97
98 return 0;
99}