[
  {
    "name": "small (4 diagnostics, mixed types)",
    "method": "textDocument/publishDiagnostics",
    "params": {
      "uri": "file:///src/main.py",
      "diagnostics": [
        { "range": { "start": { "line": 1, "character": 0 }, "end": { "line": 1, "character": 10 } }, "severity": 1, "message": "Argument of type 'int' is not assignable to parameter of type 'str'", "code": "reportGeneralTypeIssues", "source": "basedpyright" },
        { "range": { "start": { "line": 3, "character": 0 }, "end": { "line": 3, "character": 14 } }, "severity": 2, "message": "\"os\" is not accessed", "code": "reportUnusedImport", "source": "basedpyright" },
        { "range": { "start": { "line": 6, "character": 4 }, "end": { "line": 6, "character": 10 } }, "severity": 2, "message": "Variable \"result\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 9, "character": 0 }, "end": { "line": 9, "character": 1 } }, "severity": 1, "message": "Name \"undefined_var\" is not defined", "code": "reportUndefinedVariable", "source": "basedpyright" }
      ]
    }
  },
  {
    "name": "medium (10 diagnostics, mixed duplicates)",
    "method": "textDocument/publishDiagnostics",
    "params": {
      "uri": "file:///src/utils.py",
      "diagnostics": [
        { "range": { "start": { "line": 1, "character": 0 }, "end": { "line": 1, "character": 10 } }, "severity": 1, "message": "Argument of type 'int' is not assignable to parameter of type 'str'", "code": "reportGeneralTypeIssues", "source": "basedpyright" },
        { "range": { "start": { "line": 3, "character": 0 }, "end": { "line": 3, "character": 10 } }, "severity": 1, "message": "Argument of type 'None' is not assignable to parameter of type 'str'", "code": "reportGeneralTypeIssues", "source": "basedpyright" },
        { "range": { "start": { "line": 5, "character": 0 }, "end": { "line": 5, "character": 14 } }, "severity": 2, "message": "\"os\" is not accessed", "code": "reportUnusedImport", "source": "basedpyright" },
        { "range": { "start": { "line": 6, "character": 0 }, "end": { "line": 6, "character": 14 } }, "severity": 2, "message": "\"typing\" is not accessed", "code": "reportUnusedImport", "source": "basedpyright" },
        { "range": { "start": { "line": 8, "character": 4 }, "end": { "line": 8, "character": 10 } }, "severity": 2, "message": "Variable \"result\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 9, "character": 4 }, "end": { "line": 9, "character": 8 } }, "severity": 2, "message": "Variable \"temp\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 10, "character": 4 }, "end": { "line": 10, "character": 8 } }, "severity": 2, "message": "Variable \"x\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 12, "character": 0 }, "end": { "line": 12, "character": 1 } }, "severity": 1, "message": "Name \"undefined_var\" is not defined", "code": "reportUndefinedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 14, "character": 0 }, "end": { "line": 14, "character": 12 } }, "severity": 1, "message": "Cannot access member \"foo\" for type \"Bar\"", "code": "reportGeneralTypeIssues", "source": "basedpyright" },
        { "range": { "start": { "line": 16, "character": 0 }, "end": { "line": 16, "character": 20 } }, "severity": 2, "message": "\"collections\" is not accessed", "code": "reportUnusedImport", "source": "basedpyright" }
      ]
    }
  },
  {
    "name": "large (20 diagnostics, realistic pyright output)",
    "method": "textDocument/publishDiagnostics",
    "params": {
      "uri": "file:///src/app.py",
      "diagnostics": [
        { "range": { "start": { "line": 1, "character": 0 }, "end": { "line": 1, "character": 10 } }, "severity": 1, "message": "Argument of type 'int' is not assignable to parameter of type 'str'", "code": "reportGeneralTypeIssues", "source": "basedpyright" },
        { "range": { "start": { "line": 2, "character": 0 }, "end": { "line": 2, "character": 10 } }, "severity": 1, "message": "Argument of type 'None' is not assignable to parameter of type 'str'", "code": "reportGeneralTypeIssues", "source": "basedpyright" },
        { "range": { "start": { "line": 3, "character": 0 }, "end": { "line": 3, "character": 12 } }, "severity": 1, "message": "Argument of type 'list[int]' is not assignable to parameter of type 'dict'", "code": "reportGeneralTypeIssues", "source": "basedpyright" },
        { "range": { "start": { "line": 5, "character": 0 }, "end": { "line": 5, "character": 14 } }, "severity": 2, "message": "\"os\" is not accessed", "code": "reportUnusedImport", "source": "basedpyright" },
        { "range": { "start": { "line": 6, "character": 0 }, "end": { "line": 6, "character": 14 } }, "severity": 2, "message": "\"typing\" is not accessed", "code": "reportUnusedImport", "source": "basedpyright" },
        { "range": { "start": { "line": 7, "character": 0 }, "end": { "line": 7, "character": 14 } }, "severity": 2, "message": "\"json\" is not accessed", "code": "reportUnusedImport", "source": "basedpyright" },
        { "range": { "start": { "line": 8, "character": 0 }, "end": { "line": 8, "character": 14 } }, "severity": 2, "message": "\"pathlib\" is not accessed", "code": "reportUnusedImport", "source": "basedpyright" },
        { "range": { "start": { "line": 10, "character": 4 }, "end": { "line": 10, "character": 10 } }, "severity": 2, "message": "Variable \"result\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 11, "character": 4 }, "end": { "line": 11, "character": 8 } }, "severity": 2, "message": "Variable \"temp\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 12, "character": 4 }, "end": { "line": 12, "character": 8 } }, "severity": 2, "message": "Variable \"x\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 13, "character": 4 }, "end": { "line": 13, "character": 10 } }, "severity": 2, "message": "Variable \"count\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 14, "character": 4 }, "end": { "line": 14, "character": 8 } }, "severity": 2, "message": "Variable \"idx\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 16, "character": 0 }, "end": { "line": 16, "character": 1 } }, "severity": 1, "message": "Name \"undefined_var\" is not defined", "code": "reportUndefinedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 17, "character": 0 }, "end": { "line": 17, "character": 1 } }, "severity": 1, "message": "Name \"missing_func\" is not defined", "code": "reportUndefinedVariable", "source": "basedpyright" },
        { "range": { "start": { "line": 19, "character": 0 }, "end": { "line": 19, "character": 12 } }, "severity": 1, "message": "Cannot access member \"foo\" for type \"Bar\"", "code": "reportGeneralTypeIssues", "source": "basedpyright" },
        { "range": { "start": { "line": 21, "character": 0 }, "end": { "line": 21, "character": 10 } }, "severity": 1, "message": "Operator \"+\" not supported for types \"str\" and \"int\"", "code": "reportGeneralTypeIssues", "source": "basedpyright" },
        { "range": { "start": { "line": 23, "character": 0 }, "end": { "line": 23, "character": 14 } }, "severity": 1, "message": "Return type is incompatible with signature", "code": "reportReturnType", "source": "basedpyright" },
        { "range": { "start": { "line": 25, "character": 0 }, "end": { "line": 25, "character": 16 } }, "severity": 2, "message": "\"math\" imported but not used", "code": "reportUnusedImport", "source": "basedpyright" },
        { "range": { "start": { "line": 27, "character": 0 }, "end": { "line": 27, "character": 15 } }, "severity": 3, "message": "Expression can be simplified (boolean expression)", "code": "reportOptionalMemberAccess", "source": "basedpyright" },
        { "range": { "start": { "line": 29, "character": 4 }, "end": { "line": 29, "character": 10 } }, "severity": 2, "message": "\"result\" is not used", "code": "reportUnusedVariable", "source": "basedpyright" }
      ]
    }
  }
]
