|
1 | 1 | #pragma once |
2 | 2 |
|
3 | 3 | #include "test_utility.hpp" |
4 | | -#include "../draw.hpp" |
| 4 | +#include "../draw.hpp" |
| 5 | + |
| 6 | +#include <algorithm> |
5 | 7 |
|
6 | 8 | class FloatOverlapFindTests |
7 | 9 | : public ::testing::Test |
@@ -35,39 +37,31 @@ TEST_F(FloatOverlapFindTests, FloatOverlapTest) |
35 | 37 | double lat0 = 1.040893537045970; |
36 | 38 | double lat1 = 1.570796326794897; |
37 | 39 |
|
38 | | - std::vector <lib_interval_tree::interval<double>> vecOverlapsA; |
| 40 | + std::vector <std::pair<double, double>> vecOverlapsA; |
39 | 41 | lib_interval_tree::interval <double> intSource({lat0, lat1}); |
40 | | - for (auto itTargetInterval : tree) |
| 42 | + for (auto const& iter : tree) |
41 | 43 | { |
42 | | - if (itTargetInterval.overlaps(intSource)) |
43 | | - { |
44 | | - vecOverlapsA.push_back(itTargetInterval); |
45 | | - } |
| 44 | + if (iter.overlaps(intSource)) |
| 45 | + vecOverlapsA.push_back({iter.low(), iter.high()}); |
46 | 46 | } |
47 | 47 |
|
48 | | - std::vector <lib_interval_tree::interval<double>> vecOverlapsB; |
| 48 | + std::vector <std::pair<double, double>> vecOverlapsB; |
49 | 49 | tree.overlap_find_all |
50 | 50 | ( |
51 | 51 | {lat0, lat1}, |
52 | | - [&vecOverlapsB](lib_interval_tree::interval_tree_t<double>::iterator ittarget) |
| 52 | + [&vecOverlapsB](lib_interval_tree::interval_tree_t<double>::iterator iter) |
53 | 53 | { |
54 | | - vecOverlapsB.push_back(*ittarget); |
| 54 | + vecOverlapsB.push_back({iter->low(), iter->high()}); |
55 | 55 | return true; |
56 | 56 | }, |
57 | 57 | false |
58 | 58 | ); |
59 | | - |
60 | | - for (auto const& i : vecOverlapsA) |
61 | | - { |
62 | | - std::cout << i.low() << ", " << i.high() << "\n"; |
63 | | - } |
64 | | - std::cout << "\n"; |
65 | | - for (auto const& i : vecOverlapsB) |
66 | | - { |
67 | | - std::cout << i.low() << ", " << i.high() << "\n"; |
68 | | - } |
69 | | - |
70 | | - lib_interval_tree::drawTree("here.png", tree); |
71 | | - |
72 | | - ASSERT_EQ(vecOverlapsA, vecOverlapsB); |
| 59 | + |
| 60 | + lib_interval_tree::drawTree("here.png", tree); |
| 61 | + |
| 62 | + std::sort(std::begin(vecOverlapsA), std::end(vecOverlapsA)); |
| 63 | + std::sort(std::begin(vecOverlapsB), std::end(vecOverlapsB)); |
| 64 | + |
| 65 | + ASSERT_EQ(vecOverlapsA.size(), vecOverlapsB.size()); |
| 66 | + EXPECT_THAT(vecOverlapsA, ::testing::ContainerEq(vecOverlapsB)); |
73 | 67 | } |
0 commit comments