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;
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));
}
};