def create_args_dataclass(default_dic_args, input_dic_args, method_dataclass_args):
    """
    Combines default_dic_args and input_dic_args and then outputs a dataclass.

    The values of input_dic_args overwrite the values of default_dic_args.

    default_dic_args and dataclass_args must have the same keys.

    :param default_dic_args: A dictionary that contains default settings. Example: ARGS_WP_EVAl
    :param input_dic_args: A dictionary a user inputs for **kwargs when using .train(), .eval() or .test()
    :param method_dataclass_args: A class for target functionality. Example: WPEvalArgs
    :return: A dataclass object that will then be passed to HappyTrainer.train()/eval/test
    """
    settings_dic = {**default_dic_args, **input_dic_args}
    return method_dataclass_args(**settings_dic)