This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
Indoor/tests/math/TestStats.cpp
kazu 51c0945e12 statistic helper classes
test-cases
modified grid importance for better trap-detection
2016-10-01 13:17:14 +02:00

93 lines
1.1 KiB
C++

#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