code: def test_hash_equal_str(self):
      conf = Configuration()
      conf2 = Configuration()
  
      conf.set_string("k1", "v1")
      conf.set_integer("k2", 1)
      conf2.set_string("k1", "v1")
  
      self.assertNotEqual(hash(conf), hash(conf2))
      self.assertNotEqual(conf, conf2)
  
      conf2.set_integer("k2", 1)
  
      self.assertEqual(hash(conf), hash(conf2))
      self.assertEqual(conf, conf2)
  
      self.assertEqual(str(conf), "{k1=v1, k2=1}")
  
file_path: flink/flink-python/pyflink/common/tests/test_configuration.py
imports: from copy import deepcopy
  from pyflink.common import Configuration
  from pyflink.testing.test_case_utils import PyFlinkTestCase
label_desc: Use image node_id 10 for calling the ConfigurationTests obj's underlying member method code with example usage: obj.test_hash_equal_str() without return types