COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/lp_test.cc

    r462 r542  
    198198    check(const_cast<const LpSolver::Expr&>(e)[p2]==0, buf.str());
    199199
     200    //Test for clone/new
     201    LP* lpnew = lp.newSolver();
     202    LP* lpclone = lp.cloneSolver();
     203    delete lpnew;
     204    delete lpclone;
    200205
    201206  }
     
    248253  if (stat ==  LpSolver::OPTIMAL) {
    249254    std::ostringstream sbuf;
    250     sbuf << "Wrong optimal value: the right optimum is " << exp_opt;
     255    sbuf << "Wrong optimal value (" << lp.primal() <<") with "
     256         << lp.solverName() <<"\n     the right optimum is " << exp_opt;
    251257    check(std::abs(lp.primal()-exp_opt) < 1e-3, sbuf.str());
    252258  }
     
    356362}
    357363
     364template<class LP>
     365void cloneTest()
     366{
     367  //Test for clone/new
     368 
     369  LP* lp = new LP();
     370  LP* lpnew = lp->newSolver();
     371  LP* lpclone = lp->cloneSolver();
     372  delete lp;
     373  delete lpnew;
     374  delete lpclone;
     375}
     376
    358377int main()
    359378{
     
    366385    lpTest(lp_glpk1);
    367386    aTest(lp_glpk2);
     387    cloneTest<GlpkLp>();
    368388  }
    369389#endif
     
    382402#endif
    383403  }
     404    cloneTest<CplexLp>();
    384405#endif
    385406
     
    389410    lpTest(lp_soplex1);
    390411    aTest(lp_soplex2);
     412    cloneTest<SoplexLp>();
    391413  }
    392414#endif
     
    397419    lpTest(lp_clp1);
    398420    aTest(lp_clp2);
     421    cloneTest<ClpLp>();
    399422  }
    400423#endif
Note: See TracChangeset for help on using the changeset viewer.