X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=src%2Ftest%2Fgenesortertest.cpp;h=6a58ce2b8fb6e8fa0ecace92a3542d2823545c83;hb=8827131c37c21740b5ac8acf6da9ff598de3f166;hp=a2c4faeaf93b0987d5fc7f406b83c19e6fb85b76;hpb=d0abe1592fcbb10f4ac303e7b66c384624d4d439;p=germs.git diff --git a/src/test/genesortertest.cpp b/src/test/genesortertest.cpp index a2c4fae..6a58ce2 100644 --- a/src/test/genesortertest.cpp +++ b/src/test/genesortertest.cpp @@ -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)); } };