added missing code changes
started working on refactoring of sensors new test-cases
This commit is contained in:
37
tests/sensors/radio/TestLogDistanceModel.cpp
Normal file
37
tests/sensors/radio/TestLogDistanceModel.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#ifdef WITH_TESTS
|
||||
|
||||
#include "../../Tests.h"
|
||||
|
||||
#include "../../../sensors/radio/LogDistanceModel.h"
|
||||
|
||||
TEST(LogDistanceModel, calc) {
|
||||
|
||||
const float txp = -40;
|
||||
const float exp = 1;
|
||||
ASSERT_EQ(-40, LogDistanceModel::distanceToRssi(txp, exp, 1.0));
|
||||
|
||||
// only exponent changed. at 1.0 meter: no difference
|
||||
ASSERT_EQ(LogDistanceModel::distanceToRssi(-40, 1.0, 1.0), LogDistanceModel::distanceToRssi(-40, 2.0, 1.0));
|
||||
|
||||
// distance increment
|
||||
ASSERT_GT(LogDistanceModel::distanceToRssi(-40, 1.0, 1.0), LogDistanceModel::distanceToRssi(-40, 1.0, 2.0));
|
||||
|
||||
// exponent at more than 1.0m
|
||||
ASSERT_GT(LogDistanceModel::distanceToRssi(-40, 1.0, 3.0), LogDistanceModel::distanceToRssi(-40, 1.1, 3.0));
|
||||
|
||||
// other txp
|
||||
ASSERT_GT(LogDistanceModel::distanceToRssi(-40, 1.0, 1.0), LogDistanceModel::distanceToRssi(-45, 1.0, 1.0));
|
||||
|
||||
}
|
||||
|
||||
TEST(LogDistanceModel, forwardBackward) {
|
||||
|
||||
const float txp = -40;
|
||||
const float exp = 1;
|
||||
ASSERT_EQ(1.0, LogDistanceModel::rssiToDistance(txp, exp, LogDistanceModel::distanceToRssi(txp, exp, 1.0)));
|
||||
ASSERT_EQ(5.0, LogDistanceModel::rssiToDistance(txp, exp, LogDistanceModel::distanceToRssi(txp, exp, 5.0)));
|
||||
ASSERT_EQ(10.0, LogDistanceModel::rssiToDistance(txp, exp, LogDistanceModel::distanceToRssi(txp, exp, 10.0)));
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user