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:*")