]> ruin.nu Git - germs.git/blobdiff - src/test/geneordertest.cpp
GeneOrder::reverse implemented
[germs.git] / src / test / geneordertest.cpp
index 0d37456450a0521d1195a37a3f932fe220754150..bfa2dbdd4dc82bb7fee3ba67ebe02130a677bdc8 100644 (file)
@@ -21,6 +21,7 @@ class TESTNAME : public CPPUNIT_NS::TestFixture
   CPPUNIT_TEST( testCreate );
   CPPUNIT_TEST( testCopyCreate );
   CPPUNIT_TEST( testAssign );
+  CPPUNIT_TEST( testReverse );
   CPPUNIT_TEST_SUITE_END();
 
 protected:
@@ -58,18 +59,37 @@ protected:
        void testCopyCreate (){
                GeneOrder go(_bigvalidPerm.begin(),_bigvalidPerm.end());
                GeneOrder go2(go);
-               CPPUNIT_ASSERT(equal(go.list().begin(),go.list().end(),go2.list().begin()));
+               CPPUNIT_ASSERT(equal(go.begin(),go.end(),go2.begin()));
                GeneOrder go3(_validPerm.begin(),_validPerm.end());
-               CPPUNIT_ASSERT(!equal(go3.list().begin(),go3.list().end(),go2.list().begin()));
+               CPPUNIT_ASSERT(!equal(go3.begin(),go3.end(),go2.begin()));
        }
        void testAssign (){
                GeneOrder go(_bigvalidPerm.begin(),_bigvalidPerm.end());
                GeneOrder go2(_validPerm.begin(),_validPerm.end());
                go2 = go;
-               CPPUNIT_ASSERT(equal(go.list().begin(),go.list().end(),go2.list().begin()));
+               CPPUNIT_ASSERT(equal(go.begin(),go.end(),go2.begin()));
                GeneOrder go3(_validPerm.begin(),_validPerm.end());
-               CPPUNIT_ASSERT(!equal(go3.list().begin(),go3.list().end(),go2.list().begin()));
+               CPPUNIT_ASSERT(!equal(go3.begin(),go3.end(),go2.begin()));
        }
+       void testReverse(){
+               int validPerm[] = {1,2,3,4,5,6,7};
+               GeneOrder go(validPerm,validPerm+7);
+               int validPerm2[] = {1,-6,-5,-4,-3,-2,7};
+               GeneOrder go2(validPerm2,validPerm2+7);
+               go2.reverse(2,6);
+               CPPUNIT_ASSERT(equal(go.begin(),go.end(),go2.begin()));
+
+               int validPerm3[] = {1,6,-5,-4,-3,2,7};
+               GeneOrder go3(validPerm3,validPerm3+7);
+
+               go3.reverse(2,6);
+               CPPUNIT_ASSERT(!equal(go.begin(),go.end(),go3.begin()));
+
+               CPPUNIT_ASSERT_THROW(go.reverse(2,1),out_of_range);
+               CPPUNIT_ASSERT_THROW(go.reverse(1,9),out_of_range);
+               CPPUNIT_ASSERT_THROW(go.reverse(-1,3),out_of_range);
+       }
+
 };
 
 CPPUNIT_TEST_SUITE_REGISTRATION( TESTNAME );