def _build_test_method(method, dataset, dataprovider=None):
    """
    Return a fabricated method that marshals the dataset into parameters
    for given 'method'
    :param method:
        The underlying test method.
    :type method:
        `callable`
    :param dataset:
        Tuple or GentyArgs instance containing the args of the dataset.
    :type dataset:
        `tuple` or :class:`GentyArgs` or None
    :param dataprovider:
        The unbound function that's responsible for generating the actual
        params that will be passed to the test function. Can be None
    :type dataprovider:
        `callable` or None
    :return:
        Return an unbound function that will become a test method
    :rtype:
        `function`
    """
    if dataprovider:
        test_method = _build_dataprovider_method(method, dataset, dataprovider)
    elif dataset:
        test_method = _build_dataset_method(method, dataset)
    else:
        test_method = method
    return test_method
def _build_test_method ( method , dataset , dataprovider = None ) : if dataprovider : test_method = _build_dataprovider_method ( method , dataset , dataprovider ) elif dataset : test_method = _build_dataset_method ( method , dataset ) else : test_method = method return test_method
Return a fabricated method that marshals the dataset into parameters
    for given 'method'
    :param method:
        The underlying test method.
    :type method:
        `callable`
    :param dataset:
        Tuple or GentyArgs instance containing the args of the dataset.
    :type dataset:
        `tuple` or :class:`GentyArgs` or None
    :param dataprovider:
        The unbound function that's responsible for generating the actual
        params that will be passed to the test function. Can be None
    :type dataprovider:
        `callable` or None
    :return:
        Return an unbound function that will become a test method
    :rtype:
        `function`