@@ -373,29 +373,32 @@ def test_default_setting(
373373def test_default_setting_sol_and_dual_accessor (
374374 model : Model , solver : str , io_api : str , explicit_coordinate_names : bool
375375) -> None :
376- def run_one ():
377- status , _ = model .solve (
378- solver , io_api = io_api , explicit_coordinate_names = explicit_coordinate_names
379- )
380- assert status == "ok"
381- x = model ["x" ]
382- assert_equal (x .solution , model .solution ["x" ])
383- c = model .constraints ["con1" ]
384- assert_equal (c .dual , model .dual ["con1" ])
385- # squeeze in dual getter in matrix
386- assert len (model .matrices .dual ) == model .ncons
387- assert model .matrices .dual [0 ] == model .dual ["con0" ]
388-
389- if solver != "xpress" :
390- run_one ()
391- return
392-
393- # Solver is xpress
394-
395- run_one ()
396- with patch ("xpress.__version__" , 9.5 ):
397- # Test the legacy behaviour for xpress version 9.5
398- run_one ()
376+ status , _ = model .solve (
377+ solver , io_api = io_api , explicit_coordinate_names = explicit_coordinate_names
378+ )
379+ assert status == "ok"
380+ x = model ["x" ]
381+ assert_equal (x .solution , model .solution ["x" ])
382+ c = model .constraints ["con1" ]
383+ assert_equal (c .dual , model .dual ["con1" ])
384+ # squeeze in dual getter in matrix
385+ assert len (model .matrices .dual ) == model .ncons
386+ assert model .matrices .dual [0 ] == model .dual ["con0" ]
387+
388+
389+ def test_old_xpress_version (model : Model ) -> None :
390+ solver = "xpress"
391+
392+ with patch ("xpress.__version__" , "9.5.0" ):
393+ status , _ = model .solve (solver )
394+ assert status == "ok"
395+ x = model ["x" ]
396+ assert_equal (x .solution , model .solution ["x" ])
397+ c = model .constraints ["con1" ]
398+ assert_equal (c .dual , model .dual ["con1" ])
399+ # squeeze in dual getter in matrix
400+ assert len (model .matrices .dual ) == model .ncons
401+ assert model .matrices .dual [0 ] == model .dual ["con0" ]
399402
400403
401404@pytest .mark .parametrize ("solver,io_api,explicit_coordinate_names" , params )
0 commit comments