new walker (control+path)
added new sanity checks fixed minor errors added corresponding test-cases added moving-median
This commit is contained in:
@@ -17,6 +17,7 @@ public:
|
||||
float imp = 1.0f;
|
||||
float impPath = 1.0f;
|
||||
float distToTarget = 1.0;
|
||||
int cnt = 0;
|
||||
public:
|
||||
GP() : GridNode(), GridPoint() {;}
|
||||
GP(int x, int y, int z) : GridNode(), GridPoint(x,y,z) {;}
|
||||
|
||||
@@ -6,23 +6,37 @@
|
||||
#include "../../grid/GridPoint.h"
|
||||
#include "../../grid/GridNode.h"
|
||||
|
||||
TEST(Grid, addTwice) {
|
||||
|
||||
Grid<GP> grid(20);
|
||||
ASSERT_EQ(0, grid.add(GP(0,0,0)));
|
||||
ASSERT_EQ(1, grid.add(GP(20,20,20)));
|
||||
|
||||
// already present -> error
|
||||
ASSERT_THROW(grid.add(GP(0,0,0)), std::exception);
|
||||
ASSERT_THROW(grid.add(GP(20,20,20)), std::exception);
|
||||
|
||||
ASSERT_EQ(2, grid.add(GP(20,20,40)));
|
||||
|
||||
// already present -> error
|
||||
ASSERT_THROW(grid.add(GP(20,20,40)), std::exception);
|
||||
|
||||
}
|
||||
|
||||
TEST(Grid, add) {
|
||||
|
||||
Grid<GP> grid(20);
|
||||
ASSERT_EQ(0, grid.add(GP()));
|
||||
ASSERT_EQ(1, grid.add(GP()));
|
||||
ASSERT_EQ(2, grid.add(GP()));
|
||||
ASSERT_EQ(3, grid.add(GP()));
|
||||
|
||||
// not aligned? -> error
|
||||
ASSERT_THROW(grid.add(GP(10,10,10)), std::exception);
|
||||
ASSERT_THROW(grid.add(GP(10,20,20)), std::exception);
|
||||
ASSERT_THROW(grid.add(GP(20,10,20)), std::exception);
|
||||
ASSERT_THROW(grid.add(GP(20,20,10)), std::exception);
|
||||
ASSERT_EQ(4, grid.add(GP(20,20,20)));
|
||||
ASSERT_EQ(1, grid.add(GP(20,20,20)));
|
||||
|
||||
// access
|
||||
ASSERT_EQ(GP(20,20,20), grid[4]);
|
||||
ASSERT_EQ(GP(20,20,20), grid[1]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
22
tests/math/TestMovingMedian.cpp
Normal file
22
tests/math/TestMovingMedian.cpp
Normal file
@@ -0,0 +1,22 @@
|
||||
#ifdef WITH_TESTS
|
||||
|
||||
#include "../Tests.h"
|
||||
#include "../../math/MovingMedian.h"
|
||||
|
||||
TEST(MovingMedian, add) {
|
||||
|
||||
MovingMedian<float> med(3);
|
||||
|
||||
med.add(1); ASSERT_EQ(1, med.get());
|
||||
med.add(2); ASSERT_EQ(1.5, med.get());
|
||||
med.add(3); ASSERT_EQ(2, med.get());
|
||||
|
||||
med.add(3); ASSERT_EQ(3, med.get());
|
||||
med.add(1); ASSERT_EQ(3, med.get());
|
||||
med.add(1); ASSERT_EQ(1, med.get());
|
||||
med.add(2); ASSERT_EQ(1, med.get());
|
||||
med.add(3); ASSERT_EQ(2, med.get());
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user