EXPECT_EQ(addr.toText(), IOAddress("192.0.2.3").toText());
}
-TEST(IOAddressTest, toBytes) {
-
+TEST(IOAddressTest, toBytesV4) {
// Address and network byte-order representation of the address.
const char* V4STRING = "192.0.2.1";
uint8_t V4[] = {0xc0, 0x00, 0x02, 0x01};
+ std::vector<uint8_t> actual = IOAddress(V4STRING).toBytes();
+ ASSERT_EQ(sizeof(V4), actual.size());
+ EXPECT_TRUE(std::equal(actual.begin(), actual.end(), V4));
+}
+
+TEST(IOAddressTest, toBytesV6) {
+ // Address and network byte-order representation of the address.
const char* V6STRING = "2001:db8:1::dead:beef";
uint8_t V6[] = {
0x20, 0x01, 0x0d, 0xb8, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xde, 0xad, 0xbe, 0xef
};
-
- // Do the V4 check.
- IOAddress v4address(V4STRING);
- std::vector<uint8_t> v4bytes = v4address.toBytes();
- EXPECT_EQ(sizeof(V4), v4bytes.size());
- EXPECT_TRUE(std::equal(v4bytes.begin(), v4bytes.end(), &V4[0]));
-
- // Do the same for V6.
- IOAddress v6address(V6STRING);
- std::vector<uint8_t> v6bytes = v6address.toBytes();
- EXPECT_EQ(sizeof(V6), v6bytes.size());
- EXPECT_TRUE(std::equal(v6bytes.begin(), v6bytes.end(), &V6[0]));
+ std::vector<uint8_t> actual = IOAddress(V6STRING).toBytes();
+ ASSERT_EQ(sizeof(V6), actual.size());
+ EXPECT_TRUE(std::equal(actual.begin(), actual.end(), V6));
}
TEST(IOAddressTest, isV4) {