bool operator>(const ComboAddress& rhs) const
{
- if(boost::tie(sin4.sin_family, sin4.sin_port) > boost::tie(rhs.sin4.sin_family, rhs.sin4.sin_port))
- return true;
- if(boost::tie(sin4.sin_family, sin4.sin_port) < boost::tie(rhs.sin4.sin_family, rhs.sin4.sin_port))
- return false;
-
- if(sin4.sin_family == AF_INET)
- return sin4.sin_addr.s_addr > rhs.sin4.sin_addr.s_addr;
- else
- return memcmp(&sin6.sin6_addr.s6_addr, &rhs.sin6.sin6_addr.s6_addr, 16) > 0;
+ return rhs.operator<(*this);
}
struct addressOnlyHash
BOOST_CHECK(DNSName("abc.com.") < DNSName("Zdf.com."));
}
+BOOST_AUTO_TEST_CASE(test_compare_empty) {
+ DNSName a, b;
+ BOOST_CHECK(!(a<b));
+ BOOST_CHECK(!a.canonCompare(b));
+}
+
+
BOOST_AUTO_TEST_CASE(test_compare_canonical) {
DNSName lower("bert.com."), higher("alpha.nl.");
BOOST_CHECK(lower.canonCompare(higher));
BOOST_CHECK(a == b);
}
+BOOST_AUTO_TEST_CASE(test_ComboAddressCompare) {
+ ComboAddress a, b;
+ memset(&a, 0, sizeof(a));
+ memset(&b, 0, sizeof(b));
+ BOOST_CHECK(!(a<b));
+ BOOST_CHECK(!(a>b));
+}
+
BOOST_AUTO_TEST_CASE(test_ComboAddressTruncate) {
ComboAddress ca4("130.161.252.29");
ca4.truncate(24);