export const FUNCTIONS = [
  {
    nodeType: "function_definition with argument and return type",
    fileName: "python/functions.py",
    language: "Python",
    cursorPosition: { line: 15, character: 8 },
    definitionPositions: [
      { row: 14, column: 30 }, // Person
      { row: 14, column: 42 }, // Address
    ],
  },
  {
    nodeType: "function_definition with generic argument and generic return type",
    fileName: "python/functions.py",
    language: "Python",
    cursorPosition: { line: 18, character: 8 },
    definitionPositions: [
      { row: 17, column: 35 }, // Group
      { row: 17, column: 42 }, // Person
      { row: 17, column: 53 }, // Group
      { row: 17, column: 61 }, // Address
    ],
  },
  {
    nodeType: "function_definition with single argument and None return type",
    fileName: "python/functions.py",
    language: "Python",
    cursorPosition: { line: 21, character: 8 },
    definitionPositions: [
      { row: 20, column: 29 }, // Person
    ],
  },
  {
    nodeType: "function_definition with no arguments and single return type",
    fileName: "python/functions.py",
    language: "Python",
    cursorPosition: { line: 24, character: 8 },
    definitionPositions: [
      { row: 23, column: 38 }, // Address
    ],
  },
  {
    nodeType: "function_definition with Union arguments and Union return type",
    fileName: "python/functions.py",
    language: "Python",
    cursorPosition: { line: 27, character: 8 },
    definitionPositions: [
      { row: 26, column: 45 }, // Person
      { row: 26, column: 54 }, // Address
      { row: 26, column: 72 }, // Person
      { row: 26, column: 81 }, // Address
    ],
  },
  {
    nodeType: "function_definition with multiple arguments and None return type",
    fileName: "python/functions.py",
    language: "Python",
    cursorPosition: { line: 30, character: 8 },
    definitionPositions: [
      { row: 29, column: 41 }, // Person
      { row: 29, column: 59 }, // Address
    ],
  },
  {
    nodeType: "function_definition with one argument and Generator return type",
    fileName: "python/functions.py",
    language: "Python",
    cursorPosition: { line: 33, character: 9 },
    definitionPositions: [
      { row: 32, column: 40 }, // Person
      { row: 32, column: 62 }, // Address
    ],
  },
  {
    nodeType: "function_definition inside a class",
    fileName: "python/functions.py",
    language: "Python",
    cursorPosition: { line: 38, character: 12 },
    definitionPositions: [
      { row: 37, column: 51 }, // Person
      { row: 37, column: 69 }, // Address
    ],
  },
  {
    nodeType: "function_definition of an async function",
    fileName: "python/functions.py",
    language: "Python",
    cursorPosition: { line: 41, character: 8 },
    definitionPositions: [
      { row: 40, column: 37 }, // Address
      { row: 40, column: 48 }, // Person
    ],
  },
]

export const CLASSES = [
  {
    nodeType: "class_definition with multiple superclasses",
    fileName: "python/classes.py",
    language: "Python",
    cursorPosition: { line: 1, character: 8 },
    definitionPositions: [
      { row: 0, column: 21 }, // BaseClass
      { row: 0, column: 29 }, // Person
    ],
  },
  {
    nodeType: "class_definition with multiple superclasses",
    fileName: "python/classes.py",
    language: "Python",
    cursorPosition: { line: 4, character: 8 },
    definitionPositions: [
      { row: 3, column: 31 }, // MetaGroup
    ],
  },
  {
    nodeType: "class_definition with generic superclasses",
    fileName: "python/classes.py",
    language: "Python",
    cursorPosition: { line: 7, character: 8 },
    definitionPositions: [
      { row: 6, column: 21 }, // BaseClass
      { row: 6, column: 29 }, // Address
      { row: 6, column: 41 }, // Gathering
      { row: 6, column: 48 }, // Person
    ],
  },
  {
    nodeType: "class_definition with generic superclasses (built in types)",
    fileName: "python/classes.py",
    language: "Python",
    cursorPosition: { line: 10, character: 8 },
    definitionPositions: [
      { row: 9, column: 24 }, // Address
      { row: 9, column: 33 }, // Person
    ],
  },
]

export const PYTHON_TEST_CASES = [
  // ...FUNCTIONS,
  ...CLASSES,
]
