00001
00002
00003
00004 #ifndef OSISOLVERINTERFACETEST_HPP_
00005 #define OSISOLVERINTERFACETEST_HPP_
00006
00007 #include <string>
00008 #include <vector>
00009
00010 class OsiSolverInterface;
00011 class CoinPackedVectorBase;
00012
00026 int OsiSolverInterfaceMpsUnitTest
00027 (const std::vector<OsiSolverInterface*> & vecEmptySiP,
00028 const std::string& mpsDir);
00029
00030 int OsiSolverInterfaceCommonUnitTest
00031 (const OsiSolverInterface* emptySi,
00032 const std::string& mpsDir,
00033 const std::string& netlibDir);
00034
00035 void OsiCutsUnitTest();
00036
00037 void OsiColCutUnitTest(const OsiSolverInterface * baseSiP, const std::string & mpsDir);
00038
00039 void OsiRowCutUnitTest(const OsiSolverInterface * baseSiP, const std::string & mpsDir);
00040
00041 void OsiRowCutDebuggerUnitTest(const OsiSolverInterface * baseSiP, const std::string & mpsDir);
00042
00043 int testSimplexAPI(const OsiSolverInterface* emptySi,
00044 const std::string& mpsDir) ;
00045
00046 namespace OsiUnitTest {
00047
00048 void failureMessage(const std::string &solverName,
00049 const std::string &message) ;
00050 void failureMessage(const OsiSolverInterface &si,
00051 const std::string &message) ;
00052 void testingMessage(const char *const msg) ;
00053
00054 bool equivalentVectors(const OsiSolverInterface * si1,
00055 const OsiSolverInterface * si2,
00056 double tol,
00057 const double * v1,
00058 const double * v2,
00059 int size) ;
00060
00061 bool compareProblems(OsiSolverInterface *osi1, OsiSolverInterface *osi2) ;
00062
00063 bool isEquivalent(const CoinPackedVectorBase &pv, int n, const double *fv) ;
00064
00065 }
00066
00067 #endif