From 80776a5e6ca1c135febb43153e64a81d04067623 Mon Sep 17 00:00:00 2001 From: jhumeau Date: Mon, 10 May 2010 15:06:12 +0000 Subject: [PATCH] test updated git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1806 331e1502-861f-0410-8da2-ba01fb791d7f --- .../paradiseo-mo/test/t-moFitContinuator.cpp | 16 ++++++++++++ .../test/t-moFullEvalContinuator.cpp | 25 +++++++++++++++++++ .../test/t-moNeighborEvalContinuator.cpp | 24 ++++++++++++++++++ .../test/t-moNeighborhoodStat.cpp | 19 ++++++++++++++ 4 files changed, 84 insertions(+) diff --git a/trunk/paradiseo-mo/test/t-moFitContinuator.cpp b/trunk/paradiseo-mo/test/t-moFitContinuator.cpp index 0cadd116a..4837fbabf 100644 --- a/trunk/paradiseo-mo/test/t-moFitContinuator.cpp +++ b/trunk/paradiseo-mo/test/t-moFitContinuator.cpp @@ -32,11 +32,27 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include +#include "moTestClass.h" int main(){ std::cout << "[t-moFitContinuator] => START" << std::endl; + moFitContinuator test1(3); + moFitContinuator test2(5); + + bitVector sol1; + Solution sol2; + + sol1.fitness(4); + assert(test1(sol1)); + sol1.fitness(3); + assert(!test1(sol1)); + + sol2.fitness(3); + assert(test2(sol2)); + sol2.fitness(5); + assert(!test2(sol2)); std::cout << "[t-moFitContinuator] => OK" << std::endl; diff --git a/trunk/paradiseo-mo/test/t-moFullEvalContinuator.cpp b/trunk/paradiseo-mo/test/t-moFullEvalContinuator.cpp index cfcc1308f..d81f80d3f 100644 --- a/trunk/paradiseo-mo/test/t-moFullEvalContinuator.cpp +++ b/trunk/paradiseo-mo/test/t-moFullEvalContinuator.cpp @@ -32,11 +32,36 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include +#include +#include "moTestClass.h" int main(){ std::cout << "[t-moFullEvalContinuator] => START" << std::endl; + oneMaxEval fullEval; + eoEvalFuncCounter evalCount(fullEval); + moFullEvalContinuator test(evalCount, 3); + + bitVector sol; + sol.push_back(1); + + + test.init(sol); + evalCount(sol); + sol.invalidate(); + assert(test.value()==1); + evalCount(sol); + sol.invalidate(); + assert(test.value()==2); + assert(test(sol)); + evalCount(sol); + sol.invalidate(); + assert(test.value()==3); + assert(!test(sol)); + test.init(sol); + assert(test.value()==0); + assert(test(sol)); std::cout << "[t-moFullEvalContinuator] => OK" << std::endl; diff --git a/trunk/paradiseo-mo/test/t-moNeighborEvalContinuator.cpp b/trunk/paradiseo-mo/test/t-moNeighborEvalContinuator.cpp index 06d3dbbb3..dcff8249c 100644 --- a/trunk/paradiseo-mo/test/t-moNeighborEvalContinuator.cpp +++ b/trunk/paradiseo-mo/test/t-moNeighborEvalContinuator.cpp @@ -32,11 +32,35 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include +#include "moTestClass.h" int main(){ std::cout << "[t-moNeighborEvalContinuator] => START" << std::endl; + evalOneMax moEval(2); + moEvalCounter evalCount(moEval); + moNeighborEvalContinuator test(evalCount, 3); + + bitVector sol; + sol.push_back(true); + sol.push_back(false); + + bitNeighbor n; + sol.fitness(1); + + test.init(sol); + evalCount(sol,n); + assert(test.value()==1); + evalCount(sol,n); + assert(test.value()==2); + assert(test(sol)); + evalCount(sol,n); + assert(test.value()==3); + assert(!test(sol)); + test.init(sol); + assert(test.value()==0); + assert(test(sol)); std::cout << "[t-moNeighborEvalContinuator] => OK" << std::endl; diff --git a/trunk/paradiseo-mo/test/t-moNeighborhoodStat.cpp b/trunk/paradiseo-mo/test/t-moNeighborhoodStat.cpp index 8c14abd91..f75c12694 100644 --- a/trunk/paradiseo-mo/test/t-moNeighborhoodStat.cpp +++ b/trunk/paradiseo-mo/test/t-moNeighborhoodStat.cpp @@ -35,8 +35,11 @@ Contact: paradiseo-help@lists.gforge.inria.fr #include #include #include +#include +#include #include #include + #include "moTestClass.h" #include @@ -147,6 +150,22 @@ int main() { assert(test8.className()=="moSizeNeighborStat"); std::cout << "[t-moSizeNeighborStat] => OK" << std::endl; + //test of moAverageFitnessNeighborStat.h + std::cout << "[t-moAverageFitnessNeighborStat] => START" << std::endl; + moAverageFitnessNeighborStat test9(test); + test9(sol); + assert(test9.value()==6.6); + assert(test9.className()=="moAverageFitnessNeighborStat"); + std::cout << "[t-moAverageFitnessNeighborStat] => OK" << std::endl; + + //test of moStdFitnessNeighborStat.h + std::cout << "[t-moStdFitnessNeighborStat] => START" << std::endl; + moStdFitnessNeighborStat test10(test); + test10(sol); + assert(test10.value()> 0.966 && test10.value() < 0.967); + assert(test10.className()=="moStdFitnessNeighborStat"); + std::cout << "[t-moStdFitnessNeighborStat] => OK" << std::endl; + return EXIT_SUCCESS; }