code: def testComponentBasic(self):
      input_channel = types.Channel(type=_InputArtifact)
      component = _BasicComponent(folds=10, input=input_channel)
      self.assertEqual(component.id, "_BasicComponent")
      component.id = "MyBasicComponent"
      self.assertEqual(component.id, "MyBasicComponent")
      component = component.with_id("MyFavouriteId")
      self.assertEqual(component.id, "MyFavouriteId")
      self.assertIs(input_channel, component.inputs["input"])
      self.assertIsInstance(component.outputs["output"], types.Channel)
      self.assertEqual(
          component.outputs["output"].type, _OutputArtifact
      )
      self.assertEqual(
          component.outputs["output"].type_name, "OutputArtifact"
      )
  
imports: import tensorflow
  from tfx import types
  from tfx.dsl.components.base import base_component
  from tfx.dsl.components.base import base_executor
  from tfx.dsl.components.base import executor_spec
  from tfx.proto import example_gen_pb2
  from tfx.types import component_spec
  from tfx.types.system_executions import SystemExecution
  from tfx.utils import json_utils
label_desc: Use image node_id 1 for calling the ComponentTest obj's underlying member method code with example usage: obj.testComponentBasic() without return types