def prompt_4_yes_no(question, input = None):
    """
    Prompt for a yes/no or y/n answer
                                        .
    :param question:                    Question to be asked
    :param input:                       Used for unit testing

    :return:                            True for yes/y, False for no/n
    """
    count = 0
    while True:
        printError(question + ' (y/n)? ')
        choice = prompt(input).lower()
        if choice == 'yes' or choice == 'y':
            return True
        elif choice == 'no' or choice == 'n':
            return False
        else:
            count += 1
            printError('\'%s\' is not a valid answer. Enter \'yes\'(y) or \'no\'(n).' % choice)
            if count > 3:
                return None