def undefined_field(field, type_, suggested_types, suggested_fields, line, column):
    return {
        "message": undefined_field_message(
            field, type_, suggested_types, suggested_fields
        ),
        "locations": [(line, column)],
    }
 def limits_lots_of_field_suggestions():
     assert undefined_field_message(
         "f", "T", [], ["z", "y", "x", "w", "v", "u"]
     ) == (
         "Cannot query field 'f' on type 'T'."
         " Did you mean 'z', 'y', 'x', 'w' or 'v'?"
     )
 def limits_lots_of_type_suggestions():
     assert undefined_field_message(
         "f", "T", ["A", "B", "C", "D", "E", "F"], []
     ) == (
         "Cannot query field 'f' on type 'T'. Did you mean to use"
         " an inline fragment on 'A', 'B', 'C', 'D' or 'E'?"
     )
def undefined_field(field, type_, suggested_types, suggested_fields, line,
                    column):
    return {
        'message':
        undefined_field_message(field, type_, suggested_types,
                                suggested_fields),
        'locations': [(line, column)]
    }
 def only_shows_one_set_of_suggestions_at_a_time_preferring_types():
     assert undefined_field_message(
         "f", "T", ["A", "B"],
         ["z", "y"
          ]) == ("Cannot query field 'f' on type 'T'."
                 " Did you mean to use an inline fragment on 'A' or 'B'?")
 def works_with_no_small_numbers_of_field_suggestion():
     assert undefined_field_message("f", "T", [], [
         "z", "y"
     ]) == ("Cannot query field 'f' on type 'T'. Did you mean 'z' or 'y'?")
 def works_with_no_small_numbers_of_type_suggestion():
     assert undefined_field_message(
         "f", "T", ["A", "B"],
         []) == ("Cannot query field 'f' on type 'T'."
                 " Did you mean to use an inline fragment on 'A' or 'B'?")
 def fields_correct_type_no_suggestion():
     assert (undefined_field_message(
         "f", "T", [], []) == "Cannot query field 'f' on type 'T'.")
 def limits_lots_of_field_suggestions():
     assert undefined_field_message(
         'f', 'T', [], ['z', 'y', 'x', 'w', 'v', 'u'
                        ]) == ("Cannot query field 'f' on type 'T'."
                               " Did you mean 'z', 'y', 'x', 'w' or 'v'?")
 def limits_lots_of_type_suggestions():
     assert undefined_field_message(
         'f', 'T', ['A', 'B', 'C', 'D', 'E', 'F'],
         []) == ("Cannot query field 'f' on type 'T'. Did you mean to use"
                 " an inline fragment on 'A', 'B', 'C', 'D' or 'E'?")
 def only_shows_one_set_of_suggestions_at_a_time_preferring_types():
     assert undefined_field_message(
         'f', 'T', ['A', 'B'],
         ['z', 'y'
          ]) == ("Cannot query field 'f' on type 'T'."
                 " Did you mean to use an inline fragment on 'A' or 'B'?")
 def works_with_no_small_numbers_of_field_suggestion():
     assert undefined_field_message(
         'f', 'T', [], ['z', 'y']) == ("Cannot query field 'f' on type 'T'."
                                       " Did you mean 'z' or 'y'?")