code: def test_local_searcher_pickle(self):
      search_space = {
          1: space.Categorical(1, 2),
          2: space.Categorical(1, 2),
      }
      searcher = LocalSearcher(search_space=search_space)
  
      # Identical configs should have same pkl key, different configs should have different pkl keys
      config_1 = {1: 1, 2: 2}
      config_2 = {2: 2, 1: 1}
      config_diff = {1: 2, 2: 1}
      config_pkl_1 = searcher._pickle_config(config_1)
      config_pkl_2 = searcher._pickle_config(config_2)
      config_pkl_diff = searcher._pickle_config(config_diff)
  
      assert config_pkl_1 == config_pkl_2
      assert config_pkl_1 != config_pkl_diff
  
      config_unpkl = searcher._unpickle_config(config_pkl_1)
      config_unpkl_diff = searcher._unpickle_config(config_pkl_diff)
  
      assert config_unpkl == config_1
      assert config_unpkl == config_2
      assert config_unpkl_diff == config_diff
  
imports: import unittest
  from autogluon.common import space
  from autogluon.core.searcher.local_searcher import LocalSearcher
label_desc: Use image node_id 2 for calling the TestLocalSearcher obj's underlying member method code with example usage: obj.test_local_searcher_pickle() without return types