class_docstr: NodeRepr test
code: def test_op(self):
      node_op = {
          "inputs": ("a", "b"),
          "outputs": ("d",),
          "iter_info": {
              "type": "filter",
              "param": {"filter_columns": "a"},
          },
          "op_info": {
              "operator": "towhee.test",
              "type": "hub",
              "init_args": ("a",),
              "init_kws": {"b": "b"},
              "tag": "1.1",
          },
          "config": {"name": "test"},
          "next_nodes": ["next1", "next2"],
      }
      node = NodeRepr(uid="test_dict", **node_op)
      self.assertEqual(node.name, "test")
      self.assertEqual(node.inputs, ("a", "b"))
      self.assertEqual(node.outputs, ("d",))
      self.assertEqual(node.iter_info.type, "filter")
      self.assertEqual(node.iter_info.param, {"filter_columns": "a"})
      self.assertEqual(node.op_info.operator, "towhee.test")
      self.assertEqual(node.op_info.type, "hub")
      self.assertEqual(node.op_info.init_args, ("a",))
      self.assertEqual(node.op_info.init_kws, {"b": "b"})
      self.assertEqual(node.op_info.tag, "1.1")
      self.assertEqual(node.next_nodes, ["next1", "next2"])
      self.assertEqual(node.config.name, "test")
  
imports: import unittest
  from pydantic import ValidationError
  from towhee.runtime.node_repr import NodeRepr
label_desc: Use image node_id 1 for calling the TestNodeRepr obj's underlying member method code with example usage: obj.test_op() without return types