code: def test_dump_task_info_table(self):
      with patch("gokart.target.SingleFileTarget.dump") as mock_obj:
          self.dumped_data = None
  
          def _side_effect(obj, lock_at_dump):
              self.dumped_data = obj
  
          mock_obj.side_effect = _side_effect
          dump_task_info_table(
              task=_TaskInfoExampleTaskC(),
              task_info_dump_path="path.csv",
              ignore_task_names=["_TaskInfoExampleTaskB"],
          )
  
          self.assertEqual(
              set(self.dumped_data["name"]),
              {"_TaskInfoExampleTaskA", "_TaskInfoExampleTaskC"},
          )
          self.assertEqual(
              set(self.dumped_data.columns),
              {
                  "name",
                  "unique_id",
                  "output_paths",
                  "params",
                  "processing_time",
                  "is_complete",
                  "task_log",
                  "requires",
              },
          )
  
imports: import unittest
  from unittest.mock import patch
  import luigi
  import luigi.mock
  from luigi.mock import MockFileSystem, MockTarget
  import gokart
  from gokart.tree.task_info import dump_task_info_table, dump_task_info_tree, make_task_info_as_tree_str, make_task_info_tree
label_desc: Use image node_id 1 for calling the TestTaskInfoTable obj's underlying member method code with example usage: obj.test_dump_task_info_table() without return types