class for Ip and Mac

This commit is contained in:
Erik Frojdh
2019-04-02 15:24:25 +02:00
parent df2d67d90d
commit b198b50377
10 changed files with 204 additions and 138 deletions

View File

@ -21,6 +21,23 @@ TEST_CASE("Convert mac address") {
}
}
TEST_CASE("Convert mac address using classes") {
std::vector<uint64_t> vec_addr{346856806822, 346856806852, 262027939863028};
std::vector<std::string> vec_ans{"00:50:c2:46:d9:a6", "00:50:c2:46:d9:c4", "ee:50:22:46:d9:f4"};
for (int i = 0; i != vec_addr.size(); ++i) {
auto mac0 = MacAddr(vec_addr[i]);
auto mac1 = MacAddr(vec_ans[i]);
CHECK(mac0 == vec_addr[i]);
CHECK(mac1 == vec_addr[i]);
CHECK(mac0 == vec_ans[i]);
CHECK(mac1 == vec_ans[i]);
CHECK(mac0.str() == vec_ans[i]);
CHECK(mac1.str() == vec_ans[i]);
}
}
TEST_CASE("Convert IP") {
std::vector<uint32_t> vec_addr{4073554305, 2747957633, 2697625985};
std::vector<std::string> vec_ans{"129.129.205.242", "129.129.202.163", "129.129.202.160"};
@ -35,6 +52,24 @@ TEST_CASE("Convert IP") {
}
}
TEST_CASE("Convert IP using classes ") {
std::vector<uint32_t> vec_addr{4073554305, 2747957633, 2697625985};
std::vector<std::string> vec_ans{"129.129.205.242", "129.129.202.163", "129.129.202.160"};
for (int i = 0; i != vec_addr.size(); ++i) {
auto ip0 = IpAddr(vec_addr[i]);
auto ip1 = IpAddr(vec_ans[i]);
CHECK(ip0 == ip1);
CHECK(ip0 == vec_addr[i]);
CHECK(ip1 == vec_addr[i]);
CHECK(ip0 == vec_ans[i]);
CHECK(ip1 == vec_ans[i]);
CHECK(ip0.str() == vec_ans[i]);
CHECK(ip1.str() == vec_ans[i]);
}
}
TEST_CASE("IP not valid") {
CHECK(IpStringToUint("hej") == 0);

View File

@ -110,4 +110,6 @@ TEST_CASE("Many characters in a row"){
char str[] = "someeequitellll::ongstring";
sls::removeChar(str, 'l');
REQUIRE(std::string(str) == "someeequite::ongstring");
}
}
// TEST_CASE("concat things not being strings")