test/ellipse_iterator.cpp
Go to the documentation of this file.
1 
4 /*****************************************************************************
5 ** Includes
6 *****************************************************************************/
7 
8 #include "../include/cost_map_core/common.hpp"
9 #include <Eigen/Core>
10 
11 // gtest
12 #include <gtest/gtest.h>
13 
14 // Limits
15 #include <cfloat>
16 
17 // Vector
18 #include <vector>
19 #include "../include/cost_map_core/cost_map.hpp"
20 #include "../include/cost_map_core/iterators/ellipse_iterator.hpp"
21 
22 using namespace std;
23 using namespace Eigen;
24 
25 TEST(EllipseIterator, OneCellWideEllipse)
26 {
27  cost_map::CostMap map( { "types" });
28  map.setGeometry(cost_map::Length(8.0, 5.0), 1.0, cost_map::Position(0.0, 0.0));
29 
30  cost_map::EllipseIterator iterator(map, cost_map::Position(0.0, 0.0), cost_map::Length(8.0, 1.0));
31 
32  EXPECT_FALSE(iterator.isPastEnd());
33  EXPECT_EQ(0, (*iterator)(0));
34  EXPECT_EQ(2, (*iterator)(1));
35 
36  ++iterator;
37  EXPECT_FALSE(iterator.isPastEnd());
38  EXPECT_EQ(1, (*iterator)(0));
39  EXPECT_EQ(2, (*iterator)(1));
40 
41  ++iterator;
42  EXPECT_FALSE(iterator.isPastEnd());
43  EXPECT_EQ(2, (*iterator)(0));
44  EXPECT_EQ(2, (*iterator)(1));
45 
46  ++iterator;
47  ++iterator;
48  ++iterator;
49  ++iterator;
50  ++iterator;
51  EXPECT_FALSE(iterator.isPastEnd());
52  EXPECT_EQ(7, (*iterator)(0));
53  EXPECT_EQ(2, (*iterator)(1));
54 
55  ++iterator;
56  EXPECT_TRUE(iterator.isPastEnd());
57 }
58 
59 int main(int argc, char **argv)
60 {
61  testing::InitGoogleTest(&argc, argv);
62  srand((int)time(0));
63  return RUN_ALL_TESTS();
64 }
65 
void setGeometry(const Length &length, const double resolution, const Position &position=Position::Zero())
int main(int argc, char **argv)
grid_map::Position Position
Definition: common.hpp:41
TEST(EllipseIterator, OneCellWideEllipse)
grid_map::Length Length
Definition: common.hpp:47


cost_map_core
Author(s): Daniel Stonier
autogenerated on Mon Jun 10 2019 13:03:41