code: def test_collect_parameters_function(self):
      obj = self.SampleClass(
          param1=42, param2="Hello", param3="new_value"
      )
      obj.abc(param2="param2_overridden", param5="param5_value")
  
      self.assertEqual(obj.param1, 42)
      self.assertEqual(obj.param2, "param2_overridden")
      self.assertEqual(obj.param3, "new_value")
      self.assertEqual(obj.param4, "default_value")
      self.assertEqual(obj.param5, "param5_value")
  
imports: from __future__ import absolute_import
  import tempfile
  from sagemaker.workflow.pipeline_context import _PipelineConfig
  from sagemaker.workflow.pipeline_definition_config import PipelineDefinitionConfig
  from sagemaker.workflow.utilities import hash_file, hash_files_or_dirs, trim_request_dict, _collect_parameters
  from pathlib import Path
  import unittest
label_desc: Use image node_id 4 for calling the TestCollectParametersDecorator obj's underlying member method code with example usage: obj.test_collect_parameters_function() without return types