Calculate the index of coincidence for one or more ``texts``.
    The results are averaged over multiple texts to return the delta index of coincidence.

    Examples:
        >>> index_of_coincidence("aabbc")
        0.2

        >>> index_of_coincidence("aabbc", "abbcc")
        0.2

    Args:
        *texts (variable length argument list): The texts to analyze

    Returns:
        Decimal value of the index of coincidence

    Raises:
        ValueError: If texts is empty
        ValueError: If any text is less that 2 character long

def index_of_coincidence(*texts):
    """Calculate the index of coincidence for one or more ``texts``.
    The results are averaged over multiple texts to return the delta index of coincidence.

    Examples:
        >>> index_of_coincidence("aabbc")
        0.2

        >>> index_of_coincidence("aabbc", "abbcc")
        0.2

    Args:
        *texts (variable length argument list): The texts to analyze

    Returns:
        Decimal value of the index of coincidence

    Raises:
        ValueError: If texts is empty
        ValueError: If any text is less that 2 character long
    """
    if not texts:
        raise ValueError("texts must not be empty")

    return statistics.mean(_calculate_index_of_coincidence(frequency_analyze(text), len(text)) for text in texts)