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/sensors/TestMAC.cpp
kazu 06e0e0a5aa fixed some potential issues with MAC addresses
added corresponding test-cases
switched to newer version of tinyxml due to some issues
adjusted affected code-parts accordingly
for better re-use, moved ceiling-calculation to a new class
some minor fixes
new helper methods
worked on wifi-opt
2017-03-20 11:19:57 +01:00

81 lines
2.1 KiB
C++

#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, invalidLength) {
ASSERT_THROW(MACAddress("12:34:56:78:9A:B"), Exception);
ASSERT_THROW(MACAddress("2:34:56:78:9A:BC"), Exception);
ASSERT_THROW(MACAddress("12:34:56:78:9A:"), Exception);
ASSERT_THROW(MACAddress("12:34:56:78:9A"), Exception);
ASSERT_THROW(MACAddress("12:34:56:78:9A:11:"), Exception);
ASSERT_THROW(MACAddress("12:34:56:78:9A:11:11"), Exception);
}
TEST(MAC, invalidChars) {
ASSERT_THROW(MACAddress("g2:34:56:78:9A:BC"), Exception);
ASSERT_THROW(MACAddress("a2:34:56:78:9A:BG"), Exception);
ASSERT_THROW(MACAddress("a2:34:5!:78:9A:BC"), Exception);
ASSERT_THROW(MACAddress("a2:34:51:78:?A:BC"), Exception);
}
TEST(MAC, ends) {
MACAddress mac1("12:34:56:78:9A:BC");
MACAddress mac2("12:34:56:78:9a:bc");
MACAddress mac3("12:34:56:78:9a:bd");
MACAddress mac4("02:34:56:78:9a:bc");
MACAddress mac5("13:34:56:78:9a:bc");
MACAddress mac6("12:34:56:78:9a:cc");
ASSERT_EQ(mac1, mac2); ASSERT_EQ(mac1.asString(), mac2.asString());
ASSERT_NE(mac1, mac3); ASSERT_NE(mac1.asString(), mac3.asString());
ASSERT_NE(mac2, mac3); ASSERT_NE(mac2.asString(), mac3.asString());
ASSERT_NE(mac1, mac4); ASSERT_NE(mac1.asString(), mac4.asString());
ASSERT_NE(mac2, mac4); ASSERT_NE(mac2.asString(), mac4.asString());
ASSERT_NE(mac1, mac5); ASSERT_NE(mac1.asString(), mac5.asString());
ASSERT_NE(mac2, mac5); ASSERT_NE(mac2.asString(), mac5.asString());
ASSERT_NE(mac1, mac6); ASSERT_NE(mac1.asString(), mac6.asString());
ASSERT_NE(mac2, mac6); ASSERT_NE(mac2.asString(), mac6.asString());
}
TEST(MAC, convertLong) {
MACAddress mac1("12:34:56:78:9A:BC");
MACAddress mac2 = MACAddress( mac1.asLong() );
ASSERT_EQ(mac1, mac2);
ASSERT_EQ(mac1.asString(), mac2.asString());
}
#endif