mirror of
https://github.com/mfontanini/libtins
synced 2026-01-29 04:54:28 +01:00
Add missing operators to address classes (#275)
* * add or-operator and a simlple unit test for hw_address, ip_address, ipv6_address * add not-operator and a simlple unit test for hw_address, ip_address, ipv6_address * add greater-then-operator and a simlple unit test for ipv6_address * add new constructor and a simlple unit test for network_interface, which use a ipv6_address to find the nic * add override the function gateway_from_ip for ipv6_address parameter (untested) * change the ipv6_address in NotMaskAdress_Test, so that the expceted addresses are valid for the winsock api * Delete CMakeLists.txt.user * * add <=, >, >= operator for HWAddress with tests * add <=, >, >= operator for IPv4Address with tests * add <=,>= operator for IPv6Address with tests * refactoring the & , |, ~ operator of ipv6_address to "regular" operator
This commit is contained in:
committed by
Matias Fontanini
parent
7848e28b62
commit
342e2c77a7
@@ -70,6 +70,14 @@ TEST(IPv6AddressTest, LessThanOperator) {
|
||||
EXPECT_LT(IPv6Address("17f8::1"), IPv6Address("17f8:0::0:5"));
|
||||
EXPECT_LT(IPv6Address("::1"), IPv6Address("::5"));
|
||||
EXPECT_LT(IPv6Address("1::"), IPv6Address("2::"));
|
||||
EXPECT_LE(IPv6Address("1::"), IPv6Address("1::"));
|
||||
}
|
||||
|
||||
TEST(IPv6AddressTest, GreaterThanOperator) {
|
||||
EXPECT_GT(IPv6Address("17f8:0::0:5"), IPv6Address("17f8::1"));
|
||||
EXPECT_GT(IPv6Address("::5"), IPv6Address("::1"));
|
||||
EXPECT_GT(IPv6Address("2::"), IPv6Address("1::"));
|
||||
EXPECT_GE(IPv6Address("2::"), IPv6Address("2::"));
|
||||
}
|
||||
|
||||
TEST(IPv6AddressTest, OutputOperator) {
|
||||
@@ -124,6 +132,33 @@ TEST(IPv6AddressTest, MaskAddress) {
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
TEST(IPv6AddressTest, OrMaskAddress) {
|
||||
EXPECT_EQ(
|
||||
IPv6Address("ffff:ffff:adad:beef::"),
|
||||
IPv6Address("deaf:beef:adad:beef::") | IPv6Address("ffff:ffff::")
|
||||
);
|
||||
EXPECT_EQ(
|
||||
IPv6Address("ffff:ffef:adad:beef::"),
|
||||
IPv6Address("deaf:beef:adad:beef::") | IPv6Address("ffff:ff00::")
|
||||
);
|
||||
EXPECT_EQ(
|
||||
IPv6Address("ffff:feef:adad:beef::"),
|
||||
IPv6Address("deaf:beef:adad:beef::") | IPv6Address("ffff:f000::")
|
||||
);
|
||||
EXPECT_EQ(
|
||||
IPv6Address("ffff:feef:adad:beef::"),
|
||||
IPv6Address("deaf:beef:adad:beef::") | IPv6Address("ffff:e000::")
|
||||
);
|
||||
}
|
||||
|
||||
TEST(IPv6AddressTest, NotMaskAddress) {
|
||||
EXPECT_EQ(IPv6Address("::ffff:ffff:ffff:ffff:ffff:ffff"),~IPv6Address("ffff:ffff::"));
|
||||
EXPECT_EQ(IPv6Address("::ff:ffff:ffff:ffff:ffff:ffff"),~IPv6Address("ffff:ffff:ff00::"));
|
||||
EXPECT_EQ(IPv6Address("::fff:ffff:ffff:ffff:ffff:ffff"),~IPv6Address("ffff:ffff:f000::"));
|
||||
EXPECT_EQ(IPv6Address("::1fff:ffff:ffff:ffff:ffff:ffff"),~IPv6Address("ffff:ffff:e000::"));
|
||||
}
|
||||
|
||||
TEST(IPv6AddressTest, Size) {
|
||||
EXPECT_EQ(16UL, IPv6Address("dead:beef::1").size());
|
||||
EXPECT_EQ(16UL, IPv6Address().size());
|
||||
|
||||
Reference in New Issue
Block a user