code: def test_add_remove_trial_component(trial_obj, trial_component_obj):
      trial_obj.add_trial_component(trial_component_obj)
      logging.info(
          f"Added trial component {trial_component_obj.trial_component_name} to trial {trial_obj.trial_name}"
      )
  
      def validate_add():
          trial_components = list(trial_obj.list_trial_components())
          assert 1 == len(
              trial_components
          ), "Expected trial component to be included in trials list of TC"
  
      retry_with_backoff(validate_add)
  
      trial_obj.remove_trial_component(trial_component_obj)
      logging.info(
          f"Removed trial component {trial_component_obj.trial_component_name} from trial {trial_obj.trial_name}"
      )
  
      def validate_remove():
          trial_components = list(trial_obj.list_trial_components())
          assert 0 == len(
              trial_components
          ), "Expected trial component to be removed from trials list of TC"
  
      retry_with_backoff(validate_remove)
  
imports: from __future__ import absolute_import
  import logging
  from sagemaker.experiments import trial
  from src.sagemaker.utils import retry_with_backoff
label_desc: Use image node_id 4 for calling a global function with example usage: test_add_remove_trial_component(trial_obj, trial_component_obj) without return types