1+ #include " gtest/gtest.h"
2+
3+ #include < PolyUtil.hpp>
4+
5+
6+ TEST (SphericalUtil, computeAngleBetween) {
7+ LatLng up (90 , 0 );
8+ LatLng down (-90 , 0 );
9+ LatLng front (0 , 0 );
10+ LatLng right (0 , 90 );
11+ LatLng back (0 , -180 );
12+ LatLng left (0 , -90 );
13+
14+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (up, up), 0 , 1e-6 );
15+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (down, down), 0 , 1e-6 );
16+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (left, left), 0 , 1e-6 );
17+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (right, right), 0 , 1e-6 );
18+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (front, front), 0 , 1e-6 );
19+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (back, back), 0 , 1e-6 );
20+
21+ // Adjacent vertices
22+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (up, front), M_PI / 2 , 1e-6 );
23+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (up, right), M_PI / 2 , 1e-6 );
24+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (up, back), M_PI / 2 , 1e-6 );
25+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (up, left), M_PI / 2 , 1e-6 );
26+
27+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (down, front), M_PI / 2 , 1e-6 );
28+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (down, right), M_PI / 2 , 1e-6 );
29+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (down, back), M_PI / 2 , 1e-6 );
30+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (down, left), M_PI / 2 , 1e-6 );
31+
32+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (back, up), M_PI / 2 , 1e-6 );
33+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (back, right), M_PI / 2 , 1e-6 );
34+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (back, down), M_PI / 2 , 1e-6 );
35+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (back, left), M_PI / 2 , 1e-6 );
36+
37+ // Opposite vertices
38+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (up, down), M_PI, 1e-6 );
39+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (front, back), M_PI, 1e-6 );
40+ EXPECT_NEAR (SphericalUtil::computeAngleBetween (left, right), M_PI, 1e-6 );
41+ }
0 commit comments