test added

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1750 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
jhumeau 2010-04-28 15:04:04 +00:00
commit 11ba79fbf4
3 changed files with 129 additions and 0 deletions

View file

@ -31,9 +31,66 @@ Contact: paradiseo-help@lists.gforge.inria.fr
#include <cstdlib>
#include <cassert>
#include <algo/moSimpleHC.h>
#include "moTestClass.h"
#include <problems/eval/oneMaxFullEval.h>
#include <coolingSchedule/moSimpleCoolingSchedule.h>
#include <continuator/moTrueContinuator.h>
#include <comparator/moSolNeighborComparator.h>
#include <explorer/moILSexplorer.h>
#include <perturb/moMonOpPerturb.h>
#include <acceptCrit/moAlwaysAcceptCrit.h>
class dummyMonOp: public eoMonOp<bitVector>{
bool operator()(bitVector& _sol){
_sol[0]=!_sol[0];
return true;
}
};
int main(){
std::cout << "[t-moILSexplorer] => START" << std::endl;
bitNeighborhood nh(4);
oneMaxFullEval<bitVector> fullEval;
evalOneMax eval(4);
bitVector sol(4, true);
fullEval(sol);
//test first constructor
moSimpleHC<bitNeighbor> ls(nh, fullEval, eval);
dummyMonOp op;
moMonOpPerturb<bitNeighbor> perturb(op, fullEval);
moAlwaysAcceptCrit<bitNeighbor> accept;
moILSexplorer<bitNeighbor> test(ls, perturb, accept);
assert(test.className()=="moILSexplorer");
assert(test.isContinue(sol));
assert(test.accept(sol));
test.initParam(sol);
test.moveApplied(true);
test.updateParam(sol);
test.moveApplied(false);
test.updateParam(sol);
test.terminate(sol);
test.initParam(sol);
test(sol);
test.move(sol);
for(unsigned int i=0; i<sol.size(); i++)
assert(!sol[i]);
assert(sol.fitness()==0);
test(sol);
std::cout << "[t-moILSexplorer] => OK" << std::endl;