def arbitrary_string_provider(empty_string_ok, max_string_length):
    """
    Provides the tested string data

    :param empty_string_ok: True if empty strings are allowed. False otherwise
    :param max_string_length: maximum number of characters in the string
    :return: list of tuples where the first tuple element is string value and the second tuple element is
        whether such a value is valid
    """
    return [
        ("", empty_string_ok),
        ("a", True),
        ("a"*max_string_length, True),
        ("a"*(max_string_length+1), False),
        ("Latin", True),
        ("lAtIn", True),
        ("Кириллические буквы", True),
        ("кириллические буквы", True),
        ("1290749*&&^^&", True),
    ]