]> ruin.nu Git - germs.git/blobdiff - src/test/genesortertest.cpp
minor things
[germs.git] / src / test / genesortertest.cpp
index a2c4faeaf93b0987d5fc7f406b83c19e6fb85b76..6a58ce2b8fb6e8fa0ecace92a3542d2823545c83 100644 (file)
@@ -64,9 +64,16 @@ protected:
                CPPUNIT_ASSERT_EQUAL(1ul,al.size());
                CPPUNIT_ASSERT(al[0] == ReverseAction(2,3));
 
+               al[0](go2);
+               CPPUNIT_ASSERT(equal(go.begin(),go.end(),go2.begin()));
+
                GeneOrder go3(_validPerm3.begin(),_validPerm3.end());
                al = so.sort(go3);
                CPPUNIT_ASSERT_EQUAL(5ul,al.size());
+               for (size_t i = 0; i < al.size(); ++i)
+                       al[i](go3);
+               int perm[] = {0,1,2,3,4,5,6,7,8,9};
+               CPPUNIT_ASSERT(equal(go3.begin(),go3.end(),perm));
        }
        void testSafeActions (){
                GeneSorter so;
@@ -78,6 +85,14 @@ protected:
                al = so.safeActions(go2);
                CPPUNIT_ASSERT_EQUAL(1ul,al.size());
                CPPUNIT_ASSERT(al[0] == ReverseAction(2,3));
+               CPPUNIT_ASSERT(!(al[0] == ReverseAction(2,5)));
+
+               GeneOrder go3(_validPerm3.begin(),_validPerm3.end());
+               al = so.safeActions(go3);
+               CPPUNIT_ASSERT(al.size() > 0);
+               size_t cycles = countCycles(go3);
+               al[0](go3);
+               CPPUNIT_ASSERT(cycles < countCycles(go3));
        }
 
 };