def test_to_json_dict(self): expected_json_text = """ { "id": "bibo_8", "inputs": { "a": {}, "b": {}, "c": {} }, "outputs": { "x": {}, "y": {} }, "expression": "%s" } """ % self.expression step = ExpressionStep(self.expression, inputs=OrderedDict(a={}, b={}, c={}), outputs=OrderedDict(x={}, y={}), node_id='bibo_8') actual_json_dict = step.to_json_dict() actual_json_text = json.dumps(actual_json_dict, indent=4) expected_json_dict = json.loads(expected_json_text) actual_json_dict = json.loads(actual_json_text) self.assertEqual(actual_json_dict, expected_json_dict, msg='\n%sexpected:\n%s\n%s\nbut got:\n%s\n' % (120 * '-', expected_json_text, 120 * '-', actual_json_text))
def test_to_json_dict(self): expected_json_text = """ { "id": "bibo_8", "inputs": { "a": {}, "b": {}, "c": {} }, "outputs": { "x": {}, "y": {} }, "expression": "%s" } """ % self.expression step = ExpressionStep(self.expression, inputs=OrderedDict(a={}, b={}, c={}), outputs=OrderedDict(x={}, y={}), node_id='bibo_8') actual_json_dict = step.to_json_dict() actual_json_text = json.dumps(actual_json_dict, indent=4) expected_json_dict = json.loads(expected_json_text) actual_json_dict = json.loads(actual_json_text) self.assertEqual( actual_json_dict, expected_json_dict, msg='\n%sexpected:\n%s\n%s\nbut got:\n%s\n' % (120 * '-', expected_json_text, 120 * '-', actual_json_text))
def test_invoke(self): step = ExpressionStep(self.expression, OrderedDict(a={}, b={}, c={}), OrderedDict(x={}, y={}), node_id='bibo_8') a = 1.5 b = -2.6 c = 4.3 step.inputs.a.value = a step.inputs.b.value = b step.inputs.c.value = c step.invoke() output_value_x = step.outputs.x.value output_value_y = step.outputs.y.value self.assertEqual(output_value_x, 1 + 2 * a) self.assertEqual(output_value_y, 3 * b ** 2 + 4 * c ** 3)
def test_init(self): node = ExpressionStep(self.expression, OrderedDict([('a', {}), ('b', {}), ('c', {})]), OrderedDict([('x', {}), ('y', {})]), node_id='bibo_8') self.assertEqual(node.id, 'bibo_8') self.assertEqual(str(node), node.id + ' = "dict(x = 1 + 2 * a, y = 3 * b ** 2 + 4 * c ** 3)"(a=None, b=None, c=None) ' '-> (x, y) [ExpressionStep]') self.assertEqual(repr(node), "ExpressionStep('%s', node_id='bibo_8')" % self.expression) node = ExpressionStep(self.expression) self.assertEqual(node.op_meta_info.inputs, {}) self.assertEqual(node.op_meta_info.outputs, {'return': {}})
def test_from_json_dict(self): json_text = """ { "id": "bibo_8", "inputs": { "a": {}, "b": {}, "c": {} }, "outputs": { "x": {}, "y": {} }, "expression": "%s" } """ % self.expression json_dict = json.loads(json_text) node = ExpressionStep.from_json_dict(json_dict) self.assertIsInstance(node, ExpressionStep) self.assertEqual(node.id, "bibo_8") self.assertIn('a', node.inputs) self.assertIn('b', node.inputs) self.assertIn('c', node.inputs) self.assertIn('x', node.outputs) self.assertIn('y', node.outputs)