def test_evaluate_series_access(self): """ Test evaluation with series accessor """ model = Model() model.var('x', default=1) model.var('y', default=10) model.param('a', default=.5) model.solutions = [{'x': 2, 'y': 11, 'a': 60}] self.assertEquals(11, model.evaluate('y(-1)')) self.assertEquals(73, model.evaluate('x(-1) + y(-1) + a(-1)'))
def test_evaluate_series_access(self): """ Test evaluation with series accessor """ model = Model() model.var('x', default=1) model.var('y', default=10) model.param('a', default=.5) model.solutions = [{'x': 2, 'y': 11, 'a': 60}] self.assertEquals(11, model.evaluate('y(-1)')) self.assertEquals(73, model.evaluate('x(-1) + y(-1) + a(-1)'))
def test_delta_error(self): model = Model() model.var('x', default=-1) model.var('y', default=10) model.param('a', default=.5) model.solutions = [{'x': 2, 'y': 11, 'a': 60}] model.variables['x'].value = 5 with self.assertRaises(EquationError) as context: model.evaluate('d(-1)') self.assertEquals('d-arg-not-a-variable', context.exception.errorid)
def test_calling_sympy_functions(self): """ Test the calling of sympy functions """ model = Model() model.var('x') model.param('a') model.set_values({'x': 12, 'a': 5}) self.assertEquals(1.1, model.evaluate('Max(1, 1.1)'))
def test_if_true(self): """ Test the if_true builtin function """ model = Model() model.var('x', default=12) model.var('y', default=3131) self.assertEquals(0, model.evaluate('if_true(x > 1000)')) self.assertEquals(1, model.evaluate('if_true(y > 1000)'))
def test_if_true(self): """ Test the if_true builtin function """ model = Model() model.var('x', default=12) model.var('y', default=3131) self.assertEquals(0, model.evaluate('if_true(x > 1000)')) self.assertEquals(1, model.evaluate('if_true(y > 1000)'))
def test_evaluate(self): """ Test arbitrary function evaluation """ model = Model() model.var('x', default=1) model.var('y', default=10) model.param('a', default=.5) self.assertEquals(11, model.evaluate('x+y'))
def test_evaluate(self): """ Test arbitrary function evaluation """ model = Model() model.var('x', default=1) model.var('y', default=10) model.param('a', default=.5) self.assertEquals(11, model.evaluate('x+y'))
def test_delta(self): """ test the d() function """ model = Model() model.var('x', default=-1) model.var('y', default=10) model.param('a', default=.5) model.solutions = [{'x': 2, 'y': 11, 'a': 60}] model.variables['x'].value = 5 self.assertEquals(3, model.evaluate('d(x)'))