def METHOD_NAME(self) -> None:
    model = BasicModel_MultiLayer()
    text_inp = ["abc", "zyd", "ghi"]
    minimal_pert = MinParamPerturbation(
        forward_func=model,
        attack=add_char,
        arg_name="char_val",
        arg_min=0,
        arg_max=26,
        arg_step=1,
        preproc_fn=text_preproc_fn,
        apply_before_preproc=True,
        correct_fn=alt_correct_fn,
        num_attempts=5,
    )
    expected_list = ["abc", "ezyd", "ghi"]
    target_inp, pert = minimal_pert.evaluate(
        text_inp,
        target=1,
        attack_kwargs={"ind": 1},
        correct_fn_kwargs={"threshold": 1200},
        perturbations_per_eval=5,
    )
    self.assertEqual(pert, 21)
    self.assertListEqual(target_inp, expected_list)
    target_inp_single, pert_single = minimal_pert.evaluate(
        text_inp,
        target=1,
        attack_kwargs={"ind": 1},
        correct_fn_kwargs={"threshold": 1200},
    )
    self.assertEqual(pert_single, 21)
    self.assertListEqual(target_inp_single, expected_list)