8 #include "../include/cost_map_core/common.hpp" 9 #include "../include/cost_map_core/iterators/submap_iterator.hpp" 14 #include <gtest/gtest.h> 21 #include "../include/cost_map_core/cost_map.hpp" 24 using namespace Eigen;
26 TEST(SubmapIterator, Simple)
28 Eigen::Array2i submapTopLeftIndex(3, 1);
29 Eigen::Array2i submapBufferSize(3, 2);
31 Eigen::Array2i submapIndex;
34 types.push_back(
"type");
36 map.
setGeometry(Array2d(8.1, 5.1), 1.0, Vector2d(0.0, 0.0));
41 EXPECT_EQ(submapTopLeftIndex(0), (*iterator)(0));
42 EXPECT_EQ(submapTopLeftIndex(1), (*iterator)(1));
48 EXPECT_EQ(3, (*iterator)(0));
49 EXPECT_EQ(2, (*iterator)(1));
55 EXPECT_EQ(4, (*iterator)(0));
56 EXPECT_EQ(1, (*iterator)(1));
62 EXPECT_EQ(4, (*iterator)(0));
63 EXPECT_EQ(2, (*iterator)(1));
69 EXPECT_EQ(5, (*iterator)(0));
70 EXPECT_EQ(1, (*iterator)(1));
76 EXPECT_EQ(5, (*iterator)(0));
77 EXPECT_EQ(2, (*iterator)(1));
83 EXPECT_EQ(5, (*iterator)(0));
84 EXPECT_EQ(2, (*iterator)(1));
89 TEST(SubmapIterator, CircularBuffer)
91 Eigen::Array2i submapTopLeftIndex(6, 3);
92 Eigen::Array2i submapBufferSize(2, 4);
94 Eigen::Array2i submapIndex;
97 types.push_back(
"type");
99 map.
setGeometry(Array2d(8.1, 5.1), 1.0, Vector2d(0.0, 0.0));
100 map.
move(Vector2d(-3.0, -2.0));
105 EXPECT_EQ(submapTopLeftIndex(0), (*iterator)(0));
106 EXPECT_EQ(submapTopLeftIndex(1), (*iterator)(1));
112 EXPECT_EQ(6, (*iterator)(0));
113 EXPECT_EQ(4, (*iterator)(1));
119 EXPECT_EQ(6, (*iterator)(0));
120 EXPECT_EQ(0, (*iterator)(1));
126 EXPECT_EQ(6, (*iterator)(0));
127 EXPECT_EQ(1, (*iterator)(1));
133 EXPECT_EQ(7, (*iterator)(0));
134 EXPECT_EQ(3, (*iterator)(1));
140 EXPECT_EQ(7, (*iterator)(0));
141 EXPECT_EQ(4, (*iterator)(1));
147 EXPECT_EQ(7, (*iterator)(0));
148 EXPECT_EQ(0, (*iterator)(1));
154 EXPECT_EQ(7, (*iterator)(0));
155 EXPECT_EQ(1, (*iterator)(1));
161 EXPECT_EQ(7, (*iterator)(0));
162 EXPECT_EQ(1, (*iterator)(1));
167 int main(
int argc,
char **argv)
169 testing::InitGoogleTest(&argc, argv);
171 return RUN_ALL_TESTS();
void setGeometry(const Length &length, const double resolution, const Position &position=Position::Zero())
bool move(const Position &position, std::vector< BufferRegion > &newRegions)
int main(int argc, char **argv)
TEST(SubmapIterator, Simple)
const Index & getSubmapIndex() const