def test_constraint_filtering_callback_not_callable_error(self): m = self.makeModel() fme = TransformationFactory('contrib.fourier_motzkin_elimination') log = StringIO() with LoggingIntercept(log, 'pyomo.contrib.fme', logging.ERROR): self.assertRaisesRegexp(TypeError, "'int' object is not callable", fme.apply_to, m, vars_to_eliminate=m.x, constraint_filtering_callback=5) self.assertRegexpMatches( log.getvalue(), "Problem calling constraint filter callback " "on constraint with right-hand side -1.0 and body:*")
def test_bad_constraint_filtering_callback_error(self): m = self.makeModel() def not_a_callback(cons): raise RuntimeError("I don't know how to do my job.") fme = TransformationFactory('contrib.fourier_motzkin_elimination') log = StringIO() with LoggingIntercept(log, 'pyomo.contrib.fme', logging.ERROR): self.assertRaisesRegex( RuntimeError, "I don't know how to do my job.", fme.apply_to, m, vars_to_eliminate=m.x, constraint_filtering_callback=not_a_callback) self.assertRegex( log.getvalue(), "Problem calling constraint filter callback " "on constraint with right-hand side -1.0 and body:*")