statistic helper classes
test-cases modified grid importance for better trap-detection
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
|
||||
|
||||
struct MyNode12456012 : public GridPoint, public GridNode {
|
||||
float getWalkImportance() const {return 1;}
|
||||
MyNode12456012() {;}
|
||||
MyNode12456012(const int x, const int y, const int z) : GridPoint(x,y,z) {;}
|
||||
};
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
|
||||
struct MyNode124234 : public GridPoint, public GridNode {
|
||||
float getWalkImportance() const {return 1;}
|
||||
MyNode124234() {;}
|
||||
MyNode124234(const int x, const int y, const int z) : GridPoint(x,y,z) {;}
|
||||
};
|
||||
|
||||
92
tests/math/TestStats.cpp
Normal file
92
tests/math/TestStats.cpp
Normal file
@@ -0,0 +1,92 @@
|
||||
#ifdef WITH_TESTS
|
||||
|
||||
#include "../Tests.h"
|
||||
#include "../../math/Stats.h"
|
||||
|
||||
using namespace Stats;
|
||||
|
||||
TEST(Statistics, minimum) {
|
||||
|
||||
Minimum<float> min;
|
||||
|
||||
min.add(+999);
|
||||
ASSERT_EQ(999, min.get());
|
||||
|
||||
min.add(1);
|
||||
ASSERT_EQ(1, min.get());
|
||||
|
||||
min.add(2);
|
||||
ASSERT_EQ(1, min.get());
|
||||
|
||||
min.add(0);
|
||||
ASSERT_EQ(0, min.get());
|
||||
|
||||
min.add(-99);
|
||||
ASSERT_EQ(-99, min.get());
|
||||
|
||||
}
|
||||
|
||||
TEST(Statistics, maximum) {
|
||||
|
||||
Maximum<float> max;
|
||||
|
||||
max.add(-999);
|
||||
ASSERT_EQ(-999, max.get());
|
||||
|
||||
max.add(1);
|
||||
ASSERT_EQ(1, max.get());
|
||||
|
||||
max.add(2);
|
||||
ASSERT_EQ(2, max.get());
|
||||
|
||||
max.add(1);
|
||||
ASSERT_EQ(2, max.get());
|
||||
|
||||
max.add(99);
|
||||
ASSERT_EQ(99, max.get());
|
||||
|
||||
}
|
||||
|
||||
TEST(Statistics, median) {
|
||||
|
||||
Median<float> med;
|
||||
|
||||
ASSERT_THROW(med.get(), std::exception);
|
||||
|
||||
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(99);
|
||||
ASSERT_EQ(2.5, med.get());
|
||||
|
||||
|
||||
}
|
||||
|
||||
TEST(Statistics, average) {
|
||||
|
||||
Average<float> avg;
|
||||
|
||||
ASSERT_THROW(avg.get(), std::exception);
|
||||
|
||||
avg.add(1);
|
||||
ASSERT_EQ(1, avg.get());
|
||||
|
||||
avg.add(2);
|
||||
ASSERT_EQ(1.5, avg.get());
|
||||
|
||||
avg.add(3);
|
||||
ASSERT_EQ(2, avg.get());
|
||||
|
||||
avg.add(99);
|
||||
ASSERT_EQ(26.25, avg.get());
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user