module GraphQL::Compatibility::QueryParserSpecification::QueryAssertions

def assert_valid_directive(directive)

def assert_valid_directive(directive)
  assert_equal "skip", directive.name
  assert_equal "if", directive.arguments.first.name
  assert_equal 1, directive.arguments.length
  assert_equal [3, 62], directive.position
end

def assert_valid_field(field)

def assert_valid_field(field)
  assert_equal "someField", field.name
  assert_equal "myField", field.alias
  assert_equal 2, field.directives.length
  assert_equal 2, field.arguments.length
  assert_equal 0, field.selections.length
  assert_equal [3, 15], field.position
end

def assert_valid_fragment(fragment_def)

def assert_valid_fragment(fragment_def)
  assert fragment_def.is_a?(GraphQL::Language::Nodes::FragmentDefinition)
  assert_equal "moreNestedFields", fragment_def.name
  assert_equal 1, fragment_def.selections.length
  assert_equal "NestedType", fragment_def.type.name
  assert_equal 1, fragment_def.directives.length
  assert_equal [20, 13], fragment_def.position
end

def assert_valid_fragment_spread(fragment_spread)

def assert_valid_fragment_spread(fragment_spread)
  assert_equal "moreNestedFields", fragment_spread.name
  assert_equal 1, fragment_spread.directives.length
  assert_equal [7, 17], fragment_spread.position
end

def assert_valid_literal_argument(argument)

def assert_valid_literal_argument(argument)
  assert_equal "ok", argument.name
  assert_equal 1.4, argument.value
end

def assert_valid_query(query)

def assert_valid_query(query)
  assert query.is_a?(GraphQL::Language::Nodes::OperationDefinition)
  assert_equal "getStuff", query.name
  assert_equal "query", query.operation_type
  assert_equal 2, query.variables.length
  assert_equal 4, query.selections.length
  assert_equal 1, query.directives.length
  assert_equal [2, 13], [query.line, query.col]
end

def assert_valid_typed_inline_fragment(inline_fragment)

def assert_valid_typed_inline_fragment(inline_fragment)
  assert_equal "OtherType", inline_fragment.type.name
  assert_equal 2, inline_fragment.selections.length
  assert_equal 1, inline_fragment.directives.length
  assert_equal [10, 15], inline_fragment.position
end

def assert_valid_typeless_inline_fragment(inline_fragment)

def assert_valid_typeless_inline_fragment(inline_fragment)
  assert_equal nil, inline_fragment.type
  assert_equal 1, inline_fragment.selections.length
  assert_equal 0, inline_fragment.directives.length
end

def assert_valid_variable(variable)

def assert_valid_variable(variable)
  assert_equal "someVar", variable.name
  assert_equal "Int", variable.type.name
  assert_equal 1, variable.default_value
  assert_equal [2, 28], variable.position
end

def assert_valid_variable_argument(argument)

def assert_valid_variable_argument(argument)
  assert_equal "someArg", argument.name
  assert_equal "someVar", argument.value.name
end