From e6d874bc1b02e1b59a4e116beaa3dac4f2616f88 Mon Sep 17 00:00:00 2001 From: jhumeau Date: Tue, 16 Mar 2010 15:16:33 +0000 Subject: [PATCH] test added git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1696 331e1502-861f-0410-8da2-ba01fb791d7f --- .../moRndWithoutReplNeighborhood.h | 2 +- branches/newMo/test/CMakeLists.txt | 4 + .../test/t-moRndWithReplNeighborhood.cpp | 73 +++++++++++++++++++ .../test/t-moRndWithoutReplNeighborhood.cpp | 70 ++++++++++++++++++ 4 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 branches/newMo/test/t-moRndWithReplNeighborhood.cpp create mode 100644 branches/newMo/test/t-moRndWithoutReplNeighborhood.cpp diff --git a/branches/newMo/src/neighborhood/moRndWithoutReplNeighborhood.h b/branches/newMo/src/neighborhood/moRndWithoutReplNeighborhood.h index 9cea6f182..4d9725bff 100644 --- a/branches/newMo/src/neighborhood/moRndWithoutReplNeighborhood.h +++ b/branches/newMo/src/neighborhood/moRndWithoutReplNeighborhood.h @@ -111,7 +111,7 @@ public: * @return true if there is again a neighbor to explore */ virtual bool cont(EOT & _solution) { - return (maxIndex > 1) ; + return (maxIndex > 0) ; } /** diff --git a/branches/newMo/test/CMakeLists.txt b/branches/newMo/test/CMakeLists.txt index 63292fa53..7847e1734 100644 --- a/branches/newMo/test/CMakeLists.txt +++ b/branches/newMo/test/CMakeLists.txt @@ -28,6 +28,8 @@ LINK_DIRECTORIES(${PARADISEO_EO_BIN_DIR}/lib) ### 3) Define your targets and link the librairies ###################################################################################### + + SET (TEST_LIST t-moNeighbor t-moBitNeighbor @@ -38,6 +40,8 @@ SET (TEST_LIST t-moNeighborComparator t-moSolNeighborComparator t-moTrueContinuator + t-moRndWithoutReplNeighborhood + t-moRndWithReplNeighborhood ) FOREACH (test ${TEST_LIST}) diff --git a/branches/newMo/test/t-moRndWithReplNeighborhood.cpp b/branches/newMo/test/t-moRndWithReplNeighborhood.cpp new file mode 100644 index 000000000..4c7d29922 --- /dev/null +++ b/branches/newMo/test/t-moRndWithReplNeighborhood.cpp @@ -0,0 +1,73 @@ +/* + +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 "moTestClass.h" +#include +#include +#include + +int main(){ + + std::cout << "[t-moRndWithReplNeighborhood] => START" << std::endl; + + unsigned int a, b; + eoBit sol; + moBitNeighbor n; + + moRndWithReplNeighborhood< moBitNeighbor > test(3); + moRndWithReplNeighborhood< moBitNeighbor > test2(0); + + assert(test.hasNeighbor(sol)); + assert(!test2.hasNeighbor(sol)); + + test.init(sol,n); + + for(unsigned int i=0; i<100; i++){ + + a=n.index(); + test.next(sol,n); + b=n.index(); + + assert(a==0 || a==1 || a==2); + assert(b==0 || b==1 || b==2); + assert(test.cont(sol)); + assert(!test2.cont(sol)); + assert(test.cont(sol)); + + } + + + std::cout << "[t-moRndWithReplNeighborhood] => OK" << std::endl; + + return EXIT_SUCCESS; +} + diff --git a/branches/newMo/test/t-moRndWithoutReplNeighborhood.cpp b/branches/newMo/test/t-moRndWithoutReplNeighborhood.cpp new file mode 100644 index 000000000..582d29a69 --- /dev/null +++ b/branches/newMo/test/t-moRndWithoutReplNeighborhood.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 "moTestClass.h" +#include +#include +#include + +int main(){ + + std::cout << "[t-moRndWithoutReplNeighborhood] => START" << std::endl; + + unsigned int a, b, c; + eoBit sol; + moBitNeighbor n; + + moRndWithoutReplNeighborhood< moBitNeighbor > test(3); + moRndWithoutReplNeighborhood< moBitNeighbor > test2(0); + + assert(test.hasNeighbor(sol)); + assert(!test2.hasNeighbor(sol)); + + test.init(sol, n); + assert(test.cont(sol)); + a=test.position(); + test.next(sol, n); + assert(test.cont(sol)); + b=test.position(); + test.next(sol,n); + assert(!test.cont(sol)); + c=test.position(); + + assert(a==0 || b==0 || c==0); + assert(a==1 || b==1 || c==1); + assert(a==2 || b==2 || c==2); + + std::cout << "[t-moRndWithoutReplNeighborhood] => OK" << std::endl; + + return EXIT_SUCCESS; +} +