added missing code changes

started working on refactoring of sensors
new test-cases
This commit is contained in:
2016-03-17 17:28:41 +01:00
parent 6346231a64
commit f8d7f768f1
18 changed files with 524 additions and 74 deletions

32
tests/sensors/TestMAC.cpp Normal file
View File

@@ -0,0 +1,32 @@
#ifdef WITH_TESTS
#include "../Tests.h"
#include "../../sensors/MACAddress.h"
TEST(MAC, ctorSize) {
ASSERT_THROW(MACAddress("12:34:56:78:9A:A"), std::exception);
MACAddress("12:34:56:78:9A:AB");
ASSERT_THROW(MACAddress("12:34:56:78:9A:ABC"), std::exception);
}
TEST(MAC, caseInsensitive) {
MACAddress mac1("12:34:56:78:9A:BC");
MACAddress mac2("12:34:56:78:9a:bc");
ASSERT_EQ(mac1, mac2);
}
TEST(MAC, convertLong) {
MACAddress mac1("12:34:56:78:9A:BC");
MACAddress mac2 = MACAddress( mac1.asLong() );
ASSERT_EQ(mac1, mac2);
}
#endif

View 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