Determines if a list of values is consecutive (ascending)

    Args:
        values (list): list of values, sorted and unique
        min_(int): minimum value in range defaults min(values)
        max_(int): maximum value in range defaults max(values)

    Returns:
        missing_values: missing values that would make the list consecutive

    CommandLine:
        python -m utool.util_list --test-find_nonconsec_values

    Example:
        >>> # ENABLE_DOCTEST
        >>> from utool.util_list import *  # NOQA
        >>> import numpy as np
        >>> values = np.array([-2, 1,  2, 10])
        >>> result = find_nonconsec_values(values)
        >>> print(result)
        [-1, 0, 3, 4, 5, 6, 7, 8, 9]

def find_nonconsec_values(values, min_=None, max_=None):
    """
    Determines if a list of values is consecutive (ascending)

    Args:
        values (list): list of values, sorted and unique
        min_(int): minimum value in range defaults min(values)
        max_(int): maximum value in range defaults max(values)

    Returns:
        missing_values: missing values that would make the list consecutive

    CommandLine:
        python -m utool.util_list --test-find_nonconsec_values

    Example:
        >>> # ENABLE_DOCTEST
        >>> from utool.util_list import *  # NOQA
        >>> import numpy as np
        >>> values = np.array([-2, 1,  2, 10])
        >>> result = find_nonconsec_values(values)
        >>> print(result)
        [-1, 0, 3, 4, 5, 6, 7, 8, 9]
    """
    # values = sorted(set(values))
    if min_ is None:
        min_ = values[0]
    if max_ is None:
        max_ = values[-1]
    valx   = 0
    missing_values = []
    for check in range(min_, max_ + 1):
        if values[valx] != check:
            missing_values.append(check)
        else:
            valx += 1
    return missing_values