def METHOD_NAME(self):
    class a(ConfigurationManagerInterface):
        batch_size = 1
        priority = 10
        thisa = "aaa"
        train_set = {"path": "23", "sls": {"ak": "1", "sk": "2"}}
    class b(ConfigurationManagerInterface):
        batch_size = 10
        priority = 9
        thisb = "bbb"
        train_set = {"path": "231", "sls": {"ak": "1", "sk": "44"}}
    final_conf = ConfigurationManagerMeta.merge_configs()
    self.assertDictEqual(final_conf.train_set, b.train_set)
    self.assertEqual(10, final_conf.batch_size)
    self.assertEqual("bbb", final_conf.thisb)
    self.assertEqual("aaa", final_conf.get("thisa"))
    # test base and meta method
    self.assertIsNone(final_conf.get("this_not_exist"))
    self.assertIsNone(final_conf["this_not_exist"])
    self.assertFalse("this_not_exist" in final_conf)
    final_conf["this_not_exist"] = "haha"
    self.assertEqual("haha", final_conf["this_not_exist"])
    self.assertTrue("this_not_exist" in final_conf)