get_turns_areal_areal_sph.cpp 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // Boost.Geometry
  2. // Unit Test
  3. // Copyright (c) 2016-2017, Oracle and/or its affiliates.
  4. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
  5. // Use, modification and distribution is subject to the Boost Software License,
  6. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  7. // http://www.boost.org/LICENSE_1_0.txt)
  8. #include "test_get_turns.hpp"
  9. #include <boost/geometry/geometries/geometries.hpp>
  10. #include <algorithms/overlay/overlay_cases.hpp>
  11. template <typename T>
  12. void test_all()
  13. {
  14. typedef bg::model::point<T, 2, bg::cs::spherical_equatorial<bg::degree> > pt;
  15. //typedef bg::model::ring<pt> ring;
  16. typedef bg::model::polygon<pt> poly;
  17. //typedef bg::model::multi_polygon<poly> mpoly;
  18. test_geometry<poly, poly>(case_1[0], case_1[1],
  19. expected("iiu")("iui")("iiu")("iui")("iiu")("iui"));
  20. test_geometry<poly, poly>(case_2[0], case_2[1],
  21. expected("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu"));
  22. test_geometry<poly, poly>(case_3_sph[0], case_3_sph[1],
  23. expected("miu")("miu")("miu")("miu"));
  24. test_geometry<poly, poly>(case_4[0], case_4[1],
  25. expected("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui"));
  26. test_geometry<poly, poly>(case_5[0], case_5[1],
  27. expected("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui"));
  28. test_geometry<poly, poly>(case_6_sph[0], case_6_sph[1],
  29. expected("ccc")("eui")("mcc"));
  30. test_geometry<poly, poly>(case_7[0], case_7[1],
  31. expected("txu")("tux"));
  32. test_geometry<poly, poly>(case_8_sph[0], case_8_sph[1],
  33. expected("mux")("cxu"));
  34. test_geometry<poly, poly>(case_9_sph[0], case_9_sph[1],
  35. expected("muu"));
  36. test_geometry<poly, poly>(case_10_sph[0], case_10_sph[1],
  37. expected("cxu")("mux")("txx"));
  38. test_geometry<poly, poly>(case_11_sph[0], case_11_sph[1],
  39. expected("mui"));
  40. test_geometry<poly, poly>(case_12[0], case_12[1],
  41. expected("iiu")("iui")("iiu")("iui")("iiu")("iui")("iiu")("iui"));
  42. test_geometry<poly, poly>(case_13_sph[0], case_13_sph[1],
  43. expected("mxu")("mux"));
  44. test_geometry<poly, poly>(case_14_sph[0], case_14_sph[1],
  45. expected("cxu")("mux"));
  46. test_geometry<poly, poly>(case_15_sph[0], case_15_sph[1],
  47. expected("cxu")("mux"));
  48. test_geometry<poly, poly>(case_16_sph[0], case_16_sph[1],
  49. expected("txx")("txx")("tux")("cxu"));
  50. test_geometry<poly, poly>(case_17_sph[0], case_17_sph[1],
  51. expected("mcc")("cui"));
  52. test_geometry<poly, poly>(case_18_sph[0], case_18_sph[1],
  53. expected("mcc")("ccc")("ccc")("cui"));
  54. test_geometry<poly, poly>("POLYGON((16 15,-132 10,-56 89,67 5,16 15))",
  55. "POLYGON((101 49,12 40,-164 10,117 0,101 49))",
  56. expected("iiu")("iui"));
  57. }
  58. int test_main(int, char* [])
  59. {
  60. test_all<float>();
  61. test_all<double>();
  62. //#if ! defined(_MSC_VER)
  63. // test_all<long double>();
  64. //#endif
  65. //#if defined(HAVE_TTMATH)
  66. // test_all<ttmath_big>();
  67. //#endif
  68. return 0;
  69. }