MCPcopy Create free account
hub / github.com/ANYbotics/grid_map / TEST

Function TEST

grid_map_core/test/SlidingWindowIteratorTest.cpp:20–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18using namespace grid_map;
19
20TEST(SlidingWindowIterator, WindowSize3Cutoff)
21{
22 GridMap map;
23 map.setGeometry(Length(8.1, 5.1), 1.0, Position(0.0, 0.0)); // bufferSize(8, 5)
24 map.add("layer");
25 map["layer"].setRandom();
26
27 SlidingWindowIterator iterator(map, "layer", SlidingWindowIterator::EdgeHandling::CROP, 3);
28 EXPECT_EQ(iterator.getData().rows(), 2);
29 EXPECT_EQ(iterator.getData().cols(), 2);
30 EXPECT_TRUE(iterator.getData().isApprox(map["layer"].block(0, 0, 2, 2)));
31
32 ++iterator;
33 EXPECT_EQ(iterator.getData().rows(), 3);
34 EXPECT_EQ(iterator.getData().cols(), 2);
35 EXPECT_TRUE(iterator.getData().isApprox(map["layer"].block(0, 0, 3, 2)));
36
37 ++iterator;
38 EXPECT_EQ(iterator.getData().rows(), 3);
39 EXPECT_EQ(iterator.getData().cols(), 2);
40 EXPECT_TRUE(iterator.getData().isApprox(map["layer"].block(1, 0, 3, 2)));
41
42 for (; !iterator.isPastEnd(); ++iterator) {
43 EXPECT_FALSE(iterator.isPastEnd());
44 if ((*iterator == Index(3, 2)).all()) break;
45 }
46
47 EXPECT_EQ(iterator.getData().rows(), 3);
48 EXPECT_EQ(iterator.getData().cols(), 3);
49 EXPECT_TRUE(iterator.getData().isApprox(map["layer"].block(2, 1, 3, 3)));
50
51 for (; !iterator.isPastEnd(); ++iterator) {
52 EXPECT_FALSE(iterator.isPastEnd());
53 if ((*iterator == Index(7, 4)).all()) break;
54 }
55
56 EXPECT_EQ(iterator.getData().rows(), 2);
57 EXPECT_EQ(iterator.getData().cols(), 2);
58 EXPECT_TRUE(iterator.getData().isApprox(map["layer"].block(6, 3, 2, 2)));
59
60 ++iterator;
61 EXPECT_TRUE(iterator.isPastEnd());
62}
63
64TEST(SlidingWindowIterator, WindowSize5)
65{

Callers

nothing calls this directly

Calls 4

setGeometryMethod · 0.80
getDataMethod · 0.80
addMethod · 0.45
isPastEndMethod · 0.45

Tested by

no test coverage detected