def METHOD_NAME(self):
    """
    Checks CallbackRegister
    """
    class Log:
        msgs = []
        def error(self, *args, **kwargs):
            self.msgs.append((args, kwargs))
    def ret_arg(arg):
        return arg
    log = Log()
    register = data_structures.CallbackRegister("MyName", log)
    # Register few correct functions
    register.register(ret_arg, [True], {})
    register.register(ret_arg, [], {"arg": False})
    # Register few incorrect functions (incorrect number of arguments)
    register.register(ret_arg, [True, "incorrect_twice"], {})
    register.register(ret_arg, [True, "incorrect_twice"], {})
    register.register(ret_arg, [True, "incorrect_unique_only"], {}, True)
    # Register incorrect function, which is removed before cleanup
    register.register(ret_arg, [True, "incorrect_removed"], {})
    register.unregister(ret_arg, [True, "incorrect_removed"], {})
    # Run registered functions and check errors were produced accordingly
    register.run()
    self.assertEqual(len(log.msgs), 3)
    self.assertIn("incorrect_unique_only", str(log.msgs[0]))
    self.assertIn("incorrect_twice", str(log.msgs[1]))
    self.assertIn("incorrect_twice", str(log.msgs[2]))