code: def test_set_get_config():
      """Test logic behind get_config, set_config.
  
      Raises
      ------
      AssertionError if logic behind get_config, set_config is incorrect, logic tested:
          calling get_fitted_params on a non-composite fittable returns the fitted param
          calling get_fitted_params on a composite returns all nested params
      """
      # get default config dict
      base_config = BaseObject().get_config()
      base_keys = set(base_config.keys())
  
      obj = ConfigTester(4242)
  
      config_start = obj.get_config()
      assert isinstance(config_start, dict)
      expected_config_start_keys = {"foo_config", "bar"}.union(
          base_keys
      )
      assert set(config_start.keys()) == expected_config_start_keys
      assert config_start["foo_config"] == 42
      assert config_start["bar"] == "a"
  
      setconfig_return = obj.set_config(foobar=126)
      assert obj is setconfig_return
  
      obj.set_config(**{"bar": "b"})
      config_end = obj.get_config()
      assert isinstance(config_end, dict)
      expected_config_end_keys = {"foo_config", "bar", "foobar"}.union(
          base_keys
      )
      assert set(config_end.keys()) == expected_config_end_keys
      assert config_end["foo_config"] == 42
      assert config_end["bar"] == "b"
      assert config_end["foobar"] == 126
  
imports: from copy import deepcopy
  import pytest
  from sktime.base import BaseEstimator, BaseObject
  from sktime.utils.validation._dependencies import _check_soft_dependencies
label_desc: Use image node_id 14 for calling a global function with example usage: test_set_get_config() without return types