<?xml version="1.0" encoding="UTF-8"?>
<Catch2TestRun name="test_wrapper_OsiCplex" rng-seed="3688329" xml-format-version="3" catch2-version="3.3.2">
<TestCase name="Can solve a feasible LP" tags="[solving-lp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="35">
<Section name="Can retrieve primal solution" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="60">
<OverallResults successes="8" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve dual solution" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="75">
<OverallResults successes="10" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve reduced costs" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="93">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="95">
<Original>
model.get_var_reduced_cost(x) == 0._a
</Original>
<Expanded>
model.get_var_reduced_cost(x) == 0._a
</Expanded>
<Exception filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="95">
Not implemented get_var_reduced_cost
</Exception>
</Expression>
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="96">
<Original>
model.get_var_reduced_cost(y) == 0._a
</Original>
<Expanded>
model.get_var_reduced_cost(y) == 0._a
</Expanded>
<Exception filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="96">
Not implemented get_var_reduced_cost
</Exception>
</Expression>
<Expression success="false" type="CHECK_NOTHROW" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="99">
<Original>
reduced_costs = save_reduced_cost(model)
</Original>
<Expanded>
reduced_costs = save_reduced_cost(model)
</Expanded>
<Exception filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="99">
Not implemented get_var_reduced_cost
</Exception>
</Expression>
<OverallResults successes="2" failures="3" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve basis" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="105">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="106">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if primal ray is asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="109">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if farkas certificate is asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="114">
<Expression success="false" type="CHECK_THROWS" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="115">
<Original>
model.get_ctr_farkas(c1)
</Original>
<Expanded>
model.get_ctr_farkas(c1)
</Expanded>
</Expression>
<OverallResults successes="1" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can write a model to a file and read it back" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="119">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="125">
<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 update and re-optimize a feasible LP" tags="[solving-lp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="197">
<Section name="Can add cut and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="210">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add column and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="218">
<OverallResults successes="4" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can change bounds and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="227">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add cut and column and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="235">
<OverallResults successes="4" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can change objective function and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="245">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can change right-hand side and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="251">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can change left-hand side and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="259">
<Expression success="false" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="259">
<Original>
{Unknown expression after the reported line}
</Original>
<Expanded>
{Unknown expression after the reported line}
</Expanded>
<Exception filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="259">
Not implemented Osi::hook_update_matrix
</Exception>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can remove a constraint and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="268">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="272">
<Original>
model.get_best_obj() == -1._a
</Original>
<Expanded>
0.0 == Approx( -1.0 )
</Expanded>
</Expression>
<OverallResults successes="1" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can remove a variable and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="275">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add and remove the same variable and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="282">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add and remove a different variable and re-optimize" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="290">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add and remove the same constraint" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="299">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="304">
<Original>
model.get_best_obj() == 0._a
</Original>
<Expanded>
1.0 == Approx( 0.0 )
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="305">
<Original>
model.get_var_primal(x) == 0._a
</Original>
<Expanded>
1.0 == Approx( 0.0 )
</Expanded>
</Expression>
<OverallResults successes="1" failures="2" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add and remove a different constraint" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="308">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="312">
<Original>
model.get_status() == Optimal
</Original>
<Expanded>
Infeasible == Optimal
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="313">
<Original>
model.get_best_obj() == 1._a
</Original>
<Expanded>
100000000000000000000.0 == Approx( 1.0 )
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="314">
<Original>
model.get_var_primal(x) == 1._a
</Original>
<Expanded>
model.get_var_primal(x) == 1._a
</Expanded>
<Exception filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="314">
Primal not available.
</Exception>
</Expression>
<OverallResults successes="0" failures="3" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can add a constraint which depends on a variable that is then removed" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="317">
<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="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="325">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="331">
<Original>
model.get_best_obj() == -1._a
</Original>
<Expanded>
0.0 == Approx( -1.0 )
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="332">
<Original>
model.get_var_primal(x) == -1._a
</Original>
<Expanded>
0.0 == Approx( -1.0 )
</Expanded>
</Expression>
<OverallResults successes="2" failures="2" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can update a variable's bound then remove it" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="336">
<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="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="344">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can update the objective function constant" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="352">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="false" skips="0"/>
</TestCase>
<TestCase name="Can solve an infeasible LP" tags="[solving-lp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="362">
<Section name="Can retrieve a Farkas certificate" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="385">
<OverallResults successes="7" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if primal values are asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="401">
<Expression success="false" type="CHECK_THROWS" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="402">
<Original>
model.get_var_primal(u)
</Original>
<Expanded>
model.get_var_primal(u)
</Expanded>
</Expression>
<OverallResults successes="1" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if dual values are asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="406">
<Expression success="false" type="CHECK_THROWS" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="407">
<Original>
model.get_ctr_dual(c1)
</Original>
<Expanded>
model.get_ctr_dual(c1)
</Expanded>
</Expression>
<OverallResults successes="1" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if (primal) ray is asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="411">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if reduced costs are asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="416">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="false" skips="0"/>
</TestCase>
<TestCase name="Can solve an unbounded LP" tags="[solving-lp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="423">
<Section name="Can retrieve a dual ray" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="446">
<OverallResults successes="7" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if primal values are asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="464">
<Expression success="false" type="CHECK_THROWS" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="465">
<Original>
model.get_var_primal(x)
</Original>
<Expanded>
model.get_var_primal(x)
</Expanded>
</Expression>
<OverallResults successes="1" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if dual values are asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="469">
<Expression success="false" type="CHECK_THROWS" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="470">
<Original>
model.get_ctr_dual(c1)
</Original>
<Expanded>
model.get_ctr_dual(c1)
</Expanded>
</Expression>
<OverallResults successes="1" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if farkas certificate is asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="474">
<Expression success="false" type="CHECK_THROWS" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="475">
<Original>
model.get_ctr_farkas(c1)
</Original>
<Expanded>
model.get_ctr_farkas(c1)
</Expanded>
</Expression>
<OverallResults successes="1" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Throws an exception if reduced costs are asked" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_lp.test.cpp" line="479">
<OverallResults successes="2" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<OverallResult success="false" skips="0"/>
</TestCase>
<TestCase name="Can solve a feasible MIP which is integer at the root node" tags="[solving-milp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="20">
<Section name="Can retrieve primal solution" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="44">
<OverallResults successes="6" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve the number of solutions" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="57">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can iterate over solutions" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="61">
<OverallResults successes="1" 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="[solving-milp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="70">
<Section name="Can retrieve the primal solution" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="93">
<OverallResults successes="11" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve the number of solutions" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="119">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can iterate over solutions" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="123">
<OverallResults successes="1" 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="[solving-milp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="131">
<Section name="Can retrieve the solution status" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="148">
<Section name="Can retrieve the solution status" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="153">
<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="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="165">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can compute an irreducible infeasible sub-system" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="169">
<Skip filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="173">
The solver does not implement IIS computation.
</Skip>
<OverallResults successes="0" failures="0" expectedFailures="0" skipped="true"/>
</Section>
<OverallResult success="true" skips="1"/>
</TestCase>
<TestCase name="Can solve an infeasible MIP which is feasible at the root node" tags="[solving-milp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="179">
<Section name="Can retrieve the solution status" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="197">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve the number of solutions" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="208">
<OverallResults successes="1" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can compute an irreducible infeasible sub-system" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="212">
<Skip filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="216">
The solver does not implement IIS computation.
</Skip>
<OverallResults successes="0" failures="0" expectedFailures="0" skipped="true"/>
</Section>
<OverallResult success="true" skips="1"/>
</TestCase>
<TestCase name="Can solve an unbounded MIP" tags="[solving-milp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="222">
<Section name="Can retrieve the solution status" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="234">
<OverallResults successes="3" failures="0" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can retrieve the number of solutions" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="245">
<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="[solving-milp]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="251">
<Section name="Can set a time limit" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="253">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="254">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can turn off presolve" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="257">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="258">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can activate infeasible or unbounded info" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="261">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="262">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set an external parameter" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="265">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="266">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set a thread limit" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="269">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="270">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set a relative MIP gap" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="273">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="274">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set an absolute MIP gap" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="277">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="278">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set a best bound stop" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="281">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="282">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set a best obj stop" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="285">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="286">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set an iteration limit" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="289">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="290">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can turn on logs" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="293">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="294">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can set the maximum number of solutions in the pool" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="297">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/solve_milp.test.cpp" line="298">
<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 monitor the execution of the algorithm" tags="[callbacks]" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="29">
<Section name="Can retrieve root node gap" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="31">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="32">
<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="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="35">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="36">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can access nodes' solutions" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="39">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="40">
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0" skipped="false"/>
</Section>
<Section name="Can access integer solutions" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="43">
<Expression success="false" type="CHECK" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="44">
<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="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="49">
<Section name="Can add user cut" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="54">
<Skip filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="59">
The solver does not implement user cut.
</Skip>
<OverallResults successes="0" failures="0" expectedFailures="0" skipped="true"/>
</Section>
<Section name="Can add lazy constraint" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="64">
<Skip filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="96">
The solver des not implement lazy cuts
</Skip>
<OverallResults successes="0" failures="0" expectedFailures="0" skipped="true"/>
</Section>
<Section name="Can terminate the algorithm" filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="101">
<Skip filename="/home/henri/Research/idol/tests/mixed-integer/wrappers/universal-callbacks.test.cpp" line="107">
The solver does not implement early termination by user.
</Skip>
<OverallResults successes="0" failures="0" expectedFailures="0" skipped="true"/>
</Section>
<OverallResult success="true" skips="3"/>
</TestCase>
<OverallResults successes="157" failures="36" expectedFailures="0" skips="5"/>
<OverallResultsCases successes="3" failures="6" expectedFailures="0" skips="3"/>
</Catch2TestRun>