+void AdaoExchangeTest::testCasCrue()
+{
+ MainModel mm;
+ AdaoExchangeLayer4Quintet adao;
+ adao.init();
+ // For bounds, Background/Vector, Observation/Vector
+ VisitorCruePython visitorPythonObj(adao.getPythonContext());
+ mm.visitPythonLeaves(&visitorPythonObj);
+ //
+ adao.loadTemplate(&mm);
+ //
+ {
+ std::string sciptPyOfModelMaker(mm.pyStr());
+ std::cerr << sciptPyOfModelMaker << std::endl;
+ }
+ adao.execute();
+ PyObject *listOfElts( nullptr );
+ while( adao.next(listOfElts) )
+ {
+ PyObject *resultOfChunk(multiFuncCrue(listOfElts));
+ adao.setResult(resultOfChunk);
+ }
+ PyObject *res(adao.getResult());
+ PyObjectRAII optimum(PyObjectRAII::FromNew(res));
+ PyObjectRAII optimum_4_py2cpp(NumpyToListWaitingForPy2CppManagement(optimum));
+ std::vector<double> vect;
+ {
+ py2cpp::PyPtr obj(optimum_4_py2cpp);
+ py2cpp::fromPyPtr(obj,vect);
+ }
+ CPPUNIT_ASSERT_EQUAL(1,(int)vect.size());
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(25.,vect[0],1e-3);
+}
+