From 11ba79fbf4798c3d4a15c9df5b78a9f51ada1018 Mon Sep 17 00:00:00 2001 From: jhumeau Date: Wed, 28 Apr 2010 15:04:04 +0000 Subject: [PATCH] test added git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1750 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-mo/test/CMakeLists.txt | 2 + trunk/paradiseo-mo/test/t-moILSexplorer.cpp | 57 +++++++++++++++++ trunk/paradiseo-mo/test/t-moLocalSearch.cpp | 70 +++++++++++++++++++++ 3 files changed, 129 insertions(+) create mode 100644 trunk/paradiseo-mo/test/t-moLocalSearch.cpp diff --git a/trunk/paradiseo-mo/test/CMakeLists.txt b/trunk/paradiseo-mo/test/CMakeLists.txt index b9f3718e2..44170d467 100644 --- a/trunk/paradiseo-mo/test/CMakeLists.txt +++ b/trunk/paradiseo-mo/test/CMakeLists.txt @@ -72,6 +72,8 @@ SET (TEST_LIST t-moNeighborhoodPerturb t-moSAexplorer t-moSA + t-moLocalSearch + t-moILSexplorer ) FOREACH (test ${TEST_LIST}) diff --git a/trunk/paradiseo-mo/test/t-moILSexplorer.cpp b/trunk/paradiseo-mo/test/t-moILSexplorer.cpp index 6928aa5ab..705a7c0d8 100644 --- a/trunk/paradiseo-mo/test/t-moILSexplorer.cpp +++ b/trunk/paradiseo-mo/test/t-moILSexplorer.cpp @@ -31,9 +31,66 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include +#include +#include "moTestClass.h" +#include +#include +#include +#include +#include +#include +#include + + +class dummyMonOp: public eoMonOp{ + + bool operator()(bitVector& _sol){ + _sol[0]=!_sol[0]; + return true; + } + +}; + int main(){ std::cout << "[t-moILSexplorer] => START" << std::endl; + bitNeighborhood nh(4); + oneMaxFullEval fullEval; + evalOneMax eval(4); + + bitVector sol(4, true); + fullEval(sol); + + //test first constructor + moSimpleHC ls(nh, fullEval, eval); + + dummyMonOp op; + moMonOpPerturb perturb(op, fullEval); + + moAlwaysAcceptCrit accept; + + moILSexplorer 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 OK" << std::endl; diff --git a/trunk/paradiseo-mo/test/t-moLocalSearch.cpp b/trunk/paradiseo-mo/test/t-moLocalSearch.cpp new file mode 100644 index 000000000..5b6d6c31f --- /dev/null +++ b/trunk/paradiseo-mo/test/t-moLocalSearch.cpp @@ -0,0 +1,70 @@ +/* + +Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + +Sébastien Verel, Arnaud Liefooghe, Jérémie Humeau + +This software is governed by the CeCILL license under French law and +abiding by the rules of distribution of free software. You can ue, +modify and/ or redistribute the software under the terms of the CeCILL +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. +The fact that you are presently reading this means that you have had +knowledge of the CeCILL license and that you accept its terms. + +ParadisEO WebSite : http://paradiseo.gforge.inria.fr +Contact: paradiseo-help@lists.gforge.inria.fr +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "moTestClass.h" + +int main(){ + + std::cout << "[t-moLocalSearch] => START" << std::endl; + + + + bitNeighborhood nh(8); + oneMaxFullEval fullEval; + evalOneMax eval(8); + moTrueContinuator cont; + moSolNeighborComparator sncomp; + moNeighborComparator ncomp; + moSimpleHCexplorer explorer(nh, eval, ncomp, sncomp); + moLocalSearch test(explorer, cont, fullEval); + + bitVector sol(8, true); + + test(sol); + + assert(sol.fitness()==0); + for(unsigned int i=0; i OK" << std::endl; + + return EXIT_SUCCESS; +} +