import functools


def parameterize_one(name, values):
    """
    A decorator that paramaterizes a test case.
    :param name: The parameter name to parameterize.
    :param values: The values to supply to the parameter.
    """

    def decorator(f):
        @functools.wraps(f)
        def run_test(self, *args, **kwargs):
            for value in values:
                arg = {name: value}
                with self.subTest(**arg):
                    f(self, *args, **arg, **kwargs)

        return run_test

    return decorator