class_docstr: Unit test for data visualizers.
code: def test_visualizer(self):
      p = _get_pipe()
      q = _get_node_queue()
      node_collection = _get_collection(q)
      pv = PipeVisualizer(
          p.dag_repr.to_dict().get("nodes"), node_collection
      )
      pv["_input"].show()
      self.assertEqual(pv["_input"].name, "_input")
      self.assertEqual(pv["_input"].op_input, ["a"])
      self.assertEqual(pv["_input"].inputs[0][0].a, [1, 2])
      self.assertEqual(pv["_input"].outputs[0][0].a, [1, 2])
      pv["lambda-0"].show()
      self.assertEqual(pv["lambda-0"].name, "lambda-0")
      self.assertEqual(pv["lambda-0"].op_input, ["a"])
      self.assertEqual(pv["lambda-0"].inputs[0][0].a, [1, 2])
      self.assertEqual(pv["lambda-0"].outputs[0][0].b, 1)
      self.assertEqual(pv["lambda-0"].outputs[0][1].b, 2)
      pv["lambda-1"].show()
      self.assertEqual(pv["lambda-1"].name, "lambda-1")
      self.assertEqual(pv["lambda-1"].op_input, ["b"])
      self.assertEqual(pv["lambda-1"].inputs[0][0].b, 1)
      self.assertEqual(pv["lambda-1"].inputs[0][1].b, 2)
      self.assertEqual(pv["lambda-1"].outputs[0][0].c, 2)
      self.assertEqual(pv["lambda-1"].outputs[0][1].c, 3)
      pv["lambda-2"].show()
      self.assertEqual(pv["lambda-2"].name, "lambda-2")
      self.assertEqual(pv["lambda-2"].op_input, ["b"])
      self.assertEqual(pv["lambda-2"].inputs[0][0].b, 1)
      self.assertEqual(pv["lambda-2"].inputs[0][1].b, 2)
      self.assertEqual(pv["lambda-2"].outputs[0][0].d, 3)
      self.assertEqual(pv["lambda-2"].outputs[0][1].d, 4)
      pv["lambda-3"].show()
      self.assertEqual(pv["lambda-3"].name, "lambda-3")
      self.assertEqual(pv["lambda-3"].op_input, ["b"])
      self.assertEqual(pv["lambda-3"].inputs[0][0].b, 1)
      self.assertEqual(pv["lambda-3"].inputs[0][1].b, 2)
      self.assertEqual(pv["lambda-3"].outputs[0][0].e, 4)
      self.assertEqual(pv["lambda-3"].outputs[0][1].e, 5)
      pv["concat-4"].show()
      self.assertEqual(pv["concat-4"].name, "concat-4")
      self.assertEqual(pv["concat-4"].op_input, ("e", "d", "c"))
      self.assertEqual(pv["concat-4"].inputs[2][0].b, 1)
      self.assertEqual(pv["concat-4"].inputs[2][1].b, 2)
      self.assertEqual(pv["concat-4"].outputs[0][0].c, 2)
      self.assertEqual(pv["concat-4"].outputs[0][1].c, 3)
      self.assertEqual(pv["concat-4"].outputs[0][0].d, 3)
      self.assertEqual(pv["concat-4"].outputs[0][1].d, 4)
      self.assertEqual(pv["concat-4"].outputs[0][0].e, 4)
      self.assertEqual(pv["concat-4"].outputs[0][1].e, 5)
      pv.show()
  
file_path: towhee/tests/unittests/tools/test_data_visualizer.py
imports: import unittest
  from towhee import pipe
  from towhee.tools.data_visualizer import PipeVisualizer
  from towhee.datacollection import DataCollection
  from towhee.runtime.data_queue import DataQueue, ColumnType
label_desc: Use image node_id 1 for calling the TestDataVisualizer obj's underlying member method code with example usage: obj.test_visualizer() without return types