new walker (control+path)

added new sanity checks
fixed minor errors
added corresponding test-cases
added moving-median
This commit is contained in:
2016-02-05 20:18:48 +01:00
parent 56203e59ed
commit 382a046df1
10 changed files with 296 additions and 20 deletions

View File

@@ -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) {;}

View File

@@ -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]);
}