#include <cppunit/extensions/HelperMacros.h>
#include <geneorder.h>
+
+#include <algorithm>
using namespace std;
/*
{
CPPUNIT_TEST_SUITE( TESTNAME );
CPPUNIT_TEST( testCreate );
+ CPPUNIT_TEST( testCopyCreate );
+ CPPUNIT_TEST( testAssign );
+ CPPUNIT_TEST( testReverse );
CPPUNIT_TEST_SUITE_END();
protected:
CPPUNIT_ASSERT_NO_THROW(GeneOrder go(_bigvalidPerm.begin(),_bigvalidPerm.end()));
CPPUNIT_ASSERT_THROW(GeneOrder go(_invalidPerm.begin(),_invalidPerm.end()),invalid_argument);
}
+ void testCopyCreate (){
+ GeneOrder go(_bigvalidPerm.begin(),_bigvalidPerm.end());
+ GeneOrder go2(go);
+ CPPUNIT_ASSERT(equal(go.begin(),go.end(),go2.begin()));
+ GeneOrder go3(_validPerm.begin(),_validPerm.end());
+ CPPUNIT_ASSERT(!equal(go3.begin(),go3.end(),go2.begin()));
+ }
+ void testAssign (){
+ GeneOrder go(_bigvalidPerm.begin(),_bigvalidPerm.end());
+ GeneOrder go2(_validPerm.begin(),_validPerm.end());
+ go2 = go;
+ CPPUNIT_ASSERT(equal(go.begin(),go.end(),go2.begin()));
+ 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 );