class_docstr: map node test.
class_docstr_tok: ["map","node","test","."]
code: def test_callable(self):
      node_info = copy.deepcopy(self.node_info)
      node_info["op_info"]["type"] = "lambda"
      node_info["op_info"]["operator"] = lambda x: x + 1
      node_repr = NodeRepr(uid="test_node", **node_info)
  
      in_que = DataQueue([("num", ColumnType.QUEUE)])
      in_que.put((1,))
      in_que.put((2,))
      in_que.put((3,))
      in_que.put((4,))
      in_que.seal()
      out_que = DataQueue([("vec", ColumnType.QUEUE)])
      node = create_node(node_repr, self.op_pool, [in_que], [out_que])
      self.assertTrue(node.initialize())
      f = self.thread_pool.submit(node.process)
      f.result()
      self.assertTrue(node.status == NodeStatus.FINISHED)
      self.assertTrue(out_que.sealed)
      for i in range(out_que.size):
          data = out_que.get()
          self.assertEqual(data[0], i + 2)
  
imports: import unittest
  import time
  import copy
  import uuid
  from concurrent.futures import ThreadPoolExecutor
  from towhee.runtime.node_repr import NodeRepr
  from towhee.runtime.nodes import create_node, NodeStatus
  from towhee.runtime.data_queue import DataQueue, ColumnType, Empty
  from towhee.runtime.operator_manager import OperatorPool
label_desc: Use image node_id 12 for calling the TestMapNode obj's underlying member method code with example usage: obj.test_callable() without return types