diff --git a/src/lib/asiolink/tests/io_address_unittest.cc b/src/lib/asiolink/tests/io_address_unittest.cc index 55bf3611d3..4bd7626df3 100644 --- a/src/lib/asiolink/tests/io_address_unittest.cc +++ b/src/lib/asiolink/tests/io_address_unittest.cc @@ -86,30 +86,27 @@ TEST(IOAddressTest, fromBytes) { 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 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 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 v6bytes = v6address.toBytes(); - EXPECT_EQ(sizeof(V6), v6bytes.size()); - EXPECT_TRUE(std::equal(v6bytes.begin(), v6bytes.end(), &V6[0])); + std::vector actual = IOAddress(V6STRING).toBytes(); + ASSERT_EQ(sizeof(V6), actual.size()); + EXPECT_TRUE(std::equal(actual.begin(), actual.end(), V6)); } TEST(IOAddressTest, isV4) {