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
This commit is contained in:
2017-03-20 11:19:57 +01:00
parent d065015f7d
commit 06e0e0a5aa
20 changed files with 1486 additions and 676 deletions

View File

@@ -20,11 +20,59 @@ TEST(MAC, caseInsensitive) {
}
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());
}