GeneOrder go2(_validPerm2.begin(),_validPerm2.end());
al = so.sort(go2);
CPPUNIT_ASSERT_EQUAL(1ul,al.size());
- CPPUNIT_ASSERT(al[0] == ReverseAction(2,3));
+ 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;
GeneOrder go2(_validPerm2.begin(),_validPerm2.end());
al = so.safeActions(go2);
CPPUNIT_ASSERT_EQUAL(1ul,al.size());
- CPPUNIT_ASSERT(al[0] == ReverseAction(2,3));
+ CPPUNIT_ASSERT((*al[0]) == ReverseAction(2,3));
+ CPPUNIT_ASSERT(!((*al[0]) == ReverseAction(2,5)));
}
};