<?xml version="1.0" encoding="UTF-8"?>
<Catch2TestRun name="test_wrapper_Gurobi" rng-seed="3596316723" xml-format-version="2" catch2-version="3.3.2">
<TestCase name="Can solve a feasible LP" tags="[LP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="24">
<Section name="Can retrieve primal solution" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="49">
<OverallResults successes="8" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve dual solution" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="64">
<OverallResults successes="10" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve reduced costs" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="82">
<OverallResults successes="5" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if primal ray is asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="94">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if farkas certificate is asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="99">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can write a model to a file and read it back" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="104">
<Exception filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="104">
Cannot read from file using this solver
</Exception>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="false" skips="0"/>
</TestCase>
<TestCase name="Can update and re-optimize a feasible LP" tags="[LP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="182">
<Section name="Can add cut and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="195">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add column and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="203">
<OverallResults successes="4" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can change bounds and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="212">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add cut and column and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="220">
<OverallResults successes="4" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can change objective function and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="230">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can change right-hand side and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="236">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can change left-hand side and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="244">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can remove a constraint and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="253">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can remove a variable and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="260">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add and remove the same variable and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="267">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add and remove a different variable and re-optimize" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="275">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add and remove the same constraint" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="284">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add and remove a different constraint" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="293">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add a constraint which depends on a variable that is then removed" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="302">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add a variable which depends on a constraint that is then removed" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="310">
<OverallResults successes="4" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can update a variable's bound then remove it" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="321">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can change the objective function then remove a variable which appears in the objective function" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="329">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can update the objective function constant" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="337">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="true" skips="0"/>
</TestCase>
<TestCase name="Can solve an infeasible LP" tags="[LP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="347">
<Section name="Can retrieve a Farkas certificate" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="370">
<OverallResults successes="7" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if primal values are asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="386">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if dual values are asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="391">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if (primal) ray is asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="396">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if reduced costs are asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="401">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="true" skips="0"/>
</TestCase>
<TestCase name="Can solve an unbounded LP" tags="[LP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="408">
<Section name="Can retrieve a dual ray" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="431">
<OverallResults successes="7" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if primal values are asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="449">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if dual values are asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="454">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if farkas certificate is asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="459">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if reduced costs are asked" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="464">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="true" skips="0"/>
</TestCase>
<TestCase name="Can solve a feasible MIP which is integer at the root node" tags="[MILP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="21">
<Section name="Can retrieve primal solution" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="45">
<OverallResults successes="6" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve the number of solutions" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="58">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can iterate over solutions" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="62">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="true" skips="0"/>
</TestCase>
<TestCase name="Can solve a feasible MIP which is not integer at the root node" tags="[MILP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="71">
<Section name="Can retrieve the primal solution" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="94">
<OverallResults successes="11" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve the number of solutions" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="120">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can iterate over solutions" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="124">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="true" skips="0"/>
</TestCase>
<TestCase name="Can solve an infeasible MIP which is infeasible at root node" tags="[MILP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="132">
<Section name="Can retrieve the solution status" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="149">
<Section name="Can retrieve the solution status" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="154">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResults successes="5" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve the number of solutions" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="166">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can compute an irreducible infeasible sub-system" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="170">
<Expression success="false" type="CHECK" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="172">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="false" skips="0"/>
</TestCase>
<TestCase name="Can solve an infeasible MIP which is feasible at the root node" tags="[MILP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="180">
<Section name="Can retrieve the solution status" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="198">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve the number of solutions" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="209">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can compute an irreducible infeasible sub-system" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="213">
<Expression success="false" type="CHECK" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="215">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="false" skips="0"/>
</TestCase>
<TestCase name="Can solve an unbounded MIP" tags="[MILP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="223">
<Section name="Can retrieve the solution status" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="235">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve the number of solutions" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="246">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="true" skips="0"/>
</TestCase>
<TestCase name="Can set parameters of the underlying solver" tags="[MILP]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="252">
<Section name="Can set a time limit" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="259">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can turn off presolve" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="264">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can activate infeasible or unbounded info" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="269">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set a thread limit" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="274">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set a relative MIP gap" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="279">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set an absolute MIP gap" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="284">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set a best bound stop" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="289">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set a best obj stop" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="294">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set an iteration limit" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="299">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can turn on logs" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="304">
<OverallResults successes="4" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="true" skips="0"/>
</TestCase>
<TestCase name="Can add universal callbacks to monitor the execution of the algorithm" tags="[Callbacks]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="36">
<Section name="Can retrieve root node gap" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="38">
<Expression success="false" type="CHECK" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="42">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve root node solution" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="45">
<Expression success="false" type="CHECK" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="49">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can access nodes' solutions" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="52">
<Expression success="false" type="CHECK" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="56">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can access integer solutions" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="59">
<Expression success="false" type="CHECK" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="63">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="false" skips="0"/>
</TestCase>
<TestCase name="Can add universal callbacks to influence the execution of the algorithm" tags="[Callbacks]" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="68">
<Section name="Can add user cut" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="73">
<Expression success="false" type="CHECK" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="76">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add lazy constraint" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="83">
<Expression success="false" type="CHECK" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="110">
<Original>
model.get_best_obj() == 5.4_a
</Original>
<Expanded>
0.0 == Approx( 5.4 )
</Expanded>
</Expression>
<OverallResults successes="1" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can terminate the algorithm" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="118">
<Expression success="false" type="CHECK" filename="/Users/henri/Research/solvers/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="121">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="false" skips="0"/>
</TestCase>
<OverallResults successes="202" failures="10" expectedFailures="0" skips="0"/>
<OverallResultsCases successes="7" failures="5" expectedFailures="0" skips="0"/>
</Catch2TestRun>