Go to the documentation of this file.00001
00004
00005
00006
00007
00008 #include "../include/cost_map_core/common.hpp"
00009 #include <Eigen/Core>
00010
00011
00012 #include <gtest/gtest.h>
00013
00014
00015 #include <cfloat>
00016
00017
00018 #include <vector>
00019 #include "../include/cost_map_core/cost_map.hpp"
00020 #include "../include/cost_map_core/iterators/ellipse_iterator.hpp"
00021
00022 using namespace std;
00023 using namespace Eigen;
00024
00025 TEST(EllipseIterator, OneCellWideEllipse)
00026 {
00027 cost_map::CostMap map( { "types" });
00028 map.setGeometry(cost_map::Length(8.0, 5.0), 1.0, cost_map::Position(0.0, 0.0));
00029
00030 cost_map::EllipseIterator iterator(map, cost_map::Position(0.0, 0.0), cost_map::Length(8.0, 1.0));
00031
00032 EXPECT_FALSE(iterator.isPastEnd());
00033 EXPECT_EQ(0, (*iterator)(0));
00034 EXPECT_EQ(2, (*iterator)(1));
00035
00036 ++iterator;
00037 EXPECT_FALSE(iterator.isPastEnd());
00038 EXPECT_EQ(1, (*iterator)(0));
00039 EXPECT_EQ(2, (*iterator)(1));
00040
00041 ++iterator;
00042 EXPECT_FALSE(iterator.isPastEnd());
00043 EXPECT_EQ(2, (*iterator)(0));
00044 EXPECT_EQ(2, (*iterator)(1));
00045
00046 ++iterator;
00047 ++iterator;
00048 ++iterator;
00049 ++iterator;
00050 ++iterator;
00051 EXPECT_FALSE(iterator.isPastEnd());
00052 EXPECT_EQ(7, (*iterator)(0));
00053 EXPECT_EQ(2, (*iterator)(1));
00054
00055 ++iterator;
00056 EXPECT_TRUE(iterator.isPastEnd());
00057 }
00058
00059 int main(int argc, char **argv)
00060 {
00061 testing::InitGoogleTest(&argc, argv);
00062 srand((int)time(0));
00063 return RUN_ALL_TESTS();
00064 }
00065