#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