def every(predicate, iterable):
    """
    Iterate over iterable, pass the value to the predicate predicate and
    return True if all the predicate returns True for all the values.
    @param  predicate: Predicate function.
    @param iterable: Iterable containing the elements to test.
    @return: Return True if all the elements are True based on the predicate.
    If iterable is empty, it returns True.
    """
    for i in iterable:
        if not predicate(i):
            return False
    return True