def test_no_subs_constant(self): from pysd.py_backend.builder import build_element string = textwrap.dedent( build_element(element={'kind': 'constant', 'subs': [[]], 'doc': '', 'py_name': 'my_variable', 'real_name': 'My Variable', 'py_expr': ['0.01'], 'unit': '', 'arguments': ''}, subscript_dict={}) ) ns = runner(string) a = ns['my_variable']() self.assertIsInstance(a, Number) self.assertEqual(a, .01)
def test_no_subs_call(self): from pysd.py_backend.builder import build_element string = textwrap.dedent( build_element(element={'kind': 'constant', 'subs': [[]], 'doc': '', 'py_name': 'my_first_variable', 'real_name': 'My Variable', 'py_expr': ['other_variable()'], 'eqn': '', 'lims': '', 'unit': '', 'arguments': ''}, subscript_dict={}) ) ns = {'other_variable': lambda: 3} ns = runner(string, ns) a = ns['my_first_variable']() self.assertIsInstance(a, Number) self.assertEqual(a, 3)
def test_bad_value_kind(self): from pysd.py_backend.builder import build_element with self.assertRaises(AttributeError): build_element({'kind': 'nonvalid'}, {})