TEST(ConsistentHashMapTest, TestGetRange) { TestMap test_map; typedef std::pair<string, Range<size_t>> node_range_type; const string node1("node1"); test_map.insert(0, node1); size_t range = numeric_limits<size_t>::max() / test_map.num_partitions(); vector<size_t> expected_parts; for (unsigned int i = 0; i < test_map.num_partitions(); i++) { expected_parts.push_back(range*i); } vector<size_t> actual_parts = test_map.get_partitions(); EXPECT_THAT(actual_parts, ContainerEq(expected_parts)); Range<size_t> range1(0, range - 1); Range<size_t> range2(range, range*2 - 1); Range<size_t> range3(range*2, range*3 - 1); Range<size_t> range4(range*3, numeric_limits<size_t>::max()); node_range_type range1_node1 = std::make_pair(node1, range1); node_range_type range2_node1 = std::make_pair(node1, range2); node_range_type range3_node1 = std::make_pair(node1, range3); node_range_type range4_node1 = std::make_pair(node1, range4); node_range_type tmp; EXPECT_TRUE(test_map.get_range(range/2, &tmp).ok()); EXPECT_EQ(range1_node1, tmp); EXPECT_TRUE(test_map.get_range(range + range/2, &tmp).ok()); EXPECT_EQ(range2_node1, tmp); EXPECT_TRUE(test_map.get_range(range*2 + range/2, &tmp).ok()); EXPECT_EQ(range3_node1, tmp); EXPECT_TRUE(test_map.get_range(range*3 + range/2, &tmp).ok()); EXPECT_EQ(range4_node1, tmp); }
void ofApp::setup() { ofxNet::IPAddressRange range0; ofxNet::IPAddressRange range1(Poco::Net::IPAddress("192.168.0.1")); ofxNet::IPAddressRange range2(Poco::Net::IPAddress("192.168.0.33"), 23); ofxNet::IPAddressRange range3("2001:0db8:85a3::8a2e:0370:7334/64"); ofxNet::IPAddressRange range4("192.168.5.219/28"); ofxNet::IPAddressRange range5("2001:0db8:85a3::8a2e:0370:7334"); ofxNet::IPAddressRange range6("0.0.0.0/31"); std::cout << toString(range0); std::cout << "-----" << std::endl; std::cout << toString(range1); std::cout << "-----" << std::endl; std::cout << toString(range2); std::cout << "-----" << std::endl; std::cout << toString(range3); std::cout << "-----" << std::endl; std::cout << toString(range4); std::cout << "-----" << std::endl; std::cout << toString(range5); std::cout << "-----" << std::endl; Poco::Net::IPAddress test0("192.168.0.1"); Poco::Net::IPAddress test1("2001:0db8:85a3::8a2e:0370:7334"); Poco::Net::IPAddress test2("127.0.0.2"); Poco::Net::IPAddress test3("10.10.10.2"); Poco::Net::IPAddress test4("::FFFF"); Poco::Net::IPAddress test5("0.0.0.1"); std::cout << toString(range0, test0) << std::endl; std::cout << toString(range0, test1) << std::endl; std::cout << toString(range0, test2) << std::endl; std::cout << toString(range0, test3) << std::endl; std::cout << toString(range0, test4) << std::endl; std::cout << toString(range0, test4) << std::endl; std::cout << toString(range0, test5) << std::endl; std::cout << toString(range6, test5) << std::endl; ofxNet::IPAddressRange a("192.168.5.219/28"); ofxNet::IPAddressRange b("192.168.5.219/27"); std::cout << toString(a, b) << std::endl; std::cout << toString(b, a) << std::endl; }