1212import pyomo .common .unittest as unittest
1313import pyomo .contrib .parmest .parmest as parmest
1414from pyomo .contrib .parmest .graphics import matplotlib_available , seaborn_available
15+ from pyomo .contrib .pynumero .asl import AmplInterface
1516from pyomo .opt import SolverFactory
1617
1718ipopt_available = SolverFactory ("ipopt" ).available ()
19+ pynumero_ASL_available = AmplInterface .available ()
1820
1921
2022@unittest .skipIf (
@@ -43,6 +45,7 @@ def test_model_with_constraint(self):
4345
4446 rooney_biegler_with_constraint .main ()
4547
48+ @unittest .skipUnless (pynumero_ASL_available , "test requires libpynumero_ASL" )
4649 @unittest .skipUnless (seaborn_available , "test requires seaborn" )
4750 def test_parameter_estimation_example (self ):
4851 from pyomo .contrib .parmest .examples .rooney_biegler import (
@@ -66,11 +69,11 @@ def test_likelihood_ratio_example(self):
6669 likelihood_ratio_example .main ()
6770
6871
69- @unittest .skipIf (
70- not parmest .parmest_available ,
71- "Cannot test parmest: required dependencies are missing" ,
72+ @unittest .skipUnless (pynumero_ASL_available , "test requires libpynumero_ASL" )
73+ @unittest .skipUnless (ipopt_available , "The 'ipopt' solver is not available" )
74+ @unittest .skipUnless (
75+ parmest .parmest_available , "Cannot test parmest: required dependencies are missing"
7276)
73- @unittest .skipIf (not ipopt_available , "The 'ipopt' solver is not available" )
7477class TestReactionKineticsExamples (unittest .TestCase ):
7578 @classmethod
7679 def setUpClass (self ):
@@ -140,6 +143,7 @@ def test_model(self):
140143
141144 reactor_design .main ()
142145
146+ @unittest .skipUnless (pynumero_ASL_available , "test requires libpynumero_ASL" )
143147 def test_parameter_estimation_example (self ):
144148 from pyomo .contrib .parmest .examples .reactor_design import (
145149 parameter_estimation_example ,
0 commit comments