def ensure_chosen_alternatives_are_in_user_alt_ids(choice_col,
                                                   wide_data,
                                                   availability_vars):
    """
    Ensures that all chosen alternatives in `wide_df` are present in the
    `availability_vars` dict. Raises a helpful ValueError if not.

    Parameters
    ----------
    choice_col : str.
        Denotes the column in `wide_data` that contains a one if the
        alternative pertaining to the given row was the observed outcome for
        the observation pertaining to the given row and a zero otherwise.
    wide_data : pandas dataframe.
        Contains one row for each observation. Should contain the specified
        `choice_col` column.
    availability_vars : dict.
        There should be one key value pair for each alternative that is
        observed in the dataset. Each key should be the alternative id for the
        alternative, and the value should be the column heading in `wide_data`
        that denotes (using ones and zeros) whether an alternative is
        available/unavailable, respectively, for a given observation.
        Alternative id's, i.e. the keys, must be integers.

    Returns
    -------
    None.
    """
    if not wide_data[choice_col].isin(availability_vars.keys()).all():
        msg = "One or more values in wide_data[choice_col] is not in the user "
        msg_2 = "provided alternative ids in availability_vars.keys()"
        raise ValueError(msg + msg_2)

    return None