def test_constant(self): m = ConcreteModel() m.p = Param(initialize=1) e = 1 + m.p self.assertEqual(2, evaluate_expression(e)) self.assertEqual(2, evaluate_expression(e, constant=True))
def test_initialized_variable(self): m = ConcreteModel() m.p = Var(initialize=1) e = 1 + m.p self.assertTrue(2, evaluate_expression(e)) self.assertRaises(NonConstantExpressionError, evaluate_expression, e, constant=True)
def _convert_to_const(val): if val.__class__ in native_numeric_types: return val elif val.is_expression_type(): return evaluate_expression(val) else: return value(val)