X-Git-Url: https://ruin.nu/git/?p=germs.git;a=blobdiff_plain;f=src%2Ftest%2Fgeneordertest.cpp;h=bfa2dbdd4dc82bb7fee3ba67ebe02130a677bdc8;hp=8583b3b7731fe164776f5034c510995c8ad478ae;hb=959f25585c048a9cda1653ef4c5ea2c1a7007b67;hpb=c0c87c4e18985ba969174716f7576f291b0fd6a6 diff --git a/src/test/geneordertest.cpp b/src/test/geneordertest.cpp index 8583b3b..bfa2dbd 100644 --- a/src/test/geneordertest.cpp +++ b/src/test/geneordertest.cpp @@ -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: @@ -70,6 +71,25 @@ protected: GeneOrder go3(_validPerm.begin(),_validPerm.end()); 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 );