CPPUNIT_TEST(Range2Cidr5);
CPPUNIT_TEST(Range2Cidr6);
CPPUNIT_TEST(Range2Cidr7);
-
+ CPPUNIT_TEST(Substract1);
+ CPPUNIT_TEST(Substract2);
+ CPPUNIT_TEST(Substract3);
+ CPPUNIT_TEST(Substract4);
+ CPPUNIT_TEST(Substract5);
+ CPPUNIT_TEST(Substract6);
+ CPPUNIT_TEST(Substract7);
+ CPPUNIT_TEST(Substract8);
+ CPPUNIT_TEST(Substract9);
+ CPPUNIT_TEST(Substract10);
+ CPPUNIT_TEST(Substract11);
+ CPPUNIT_TEST(Substract12);
+ CPPUNIT_TEST(Substract13);
+ CPPUNIT_TEST(Substract14);
+
CPPUNIT_TEST_SUITE_END();
CPPUNIT_ASSERT_EQUAL(check_cidrs,cidrs);
}
+
+ void Substract1()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.3"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.1-192.168.1.2");
+ check_range.push_back("192.168.1.4-192.168.1.100");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract2()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.1"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.2-192.168.1.100");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract3()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.1"));
+ to_sub.insert(IP_RANGE("192.168.1.61"));
+ to_sub.insert(IP_RANGE("192.168.1.50-192.168.1.60"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.2-192.168.1.49");
+ check_range.push_back("192.168.1.62-192.168.1.100");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract4()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.50-192.168.1.100"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.1-192.168.1.49");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract5()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.50-192.168.1.99"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.1-192.168.1.49");
+ check_range.push_back("192.168.1.100-192.168.1.100");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract6()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.2-192.168.1.100"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.1");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract7()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.1-192.168.1.100"));
+ to_sub.insert(IP_RANGE("192.168.1.50-192.168.1.61"));
+ to_sub.insert(IP_RANGE("192.168.1.61"));
+ to_sub.insert(IP_RANGE("192.168.1.62"));
+ to_sub.insert(IP_RANGE("192.168.1.63"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract8()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.10-192.168.1.20"));
+ to_sub.insert(IP_RANGE("192.168.1.11-192.168.1.30"));
+ to_sub.insert(IP_RANGE("192.168.1.1-192.168.1.3"));
+ to_sub.insert(IP_RANGE("192.168.1.8"));
+ to_sub.insert(IP_RANGE("192.168.1.9"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.4-192.168.1.7");
+ check_range.push_back("192.168.1.31-192.168.1.100");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract9()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.9-192.168.1.15"));
+ to_sub.insert(IP_RANGE("192.168.1.10-192.168.1.20"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.1-192.168.1.8");
+ check_range.push_back("192.168.1.21-192.168.1.100");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract10()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.2");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.1"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.2");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract11()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.2");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.2"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.1");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract12()
+ {
+ IP_RANGE range("192.168.1.1");
+ set<IP_RANGE> to_sub;
+ to_sub.insert(IP_RANGE("192.168.1.1"));
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract13()
+ {
+ IP_RANGE range("192.168.1.1");
+
+ set<IP_RANGE> to_sub;
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.1");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
+
+ void Substract14()
+ {
+ IP_RANGE range("192.168.1.1-192.168.1.100");
+ set<IP_RANGE> to_sub;
+
+ vector<IP_RANGE> new_range = range.substract(to_sub);
+
+ vector<IP_RANGE> check_range;
+ check_range.push_back("192.168.1.1-192.168.1.100");
+
+ CPPUNIT_ASSERT_EQUAL(check_range,new_range);
+ }
};
CPPUNIT_TEST_SUITE_REGISTRATION(ip_range);