{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/vtesttree-yaml/versions/2.1.0.json",
  "title": "vtesttree.yaml",
  "x-lintel": {
    "source": "https://www.schemastore.org/vtesttree-schema-v2.1.0.json",
    "sourceSha256": "72f63a9c1414eb5427d7452292410d934606c9f310d9394582f3196822ed65a8",
    "fileMatch": [
      "*.vtesttree.yaml",
      "*.vtesttree.yml",
      "*.vtesttree.json"
    ],
    "parsers": [
      "json",
      "yaml"
    ]
  },
  "type": "object",
  "$ref": "#/$defs/8c8eb/full",
  "$defs": {
    "c2b77": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vtesttree.yaml file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "2.1.0",
        "type": "string",
        "examples": [
          "2.1.0"
        ]
      }
    },
    "a25af": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Test tree",
        "description": "Definition of a test tree consisting of test fixtures, test cases and test sequences.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/7690e/full"
        }
      }
    },
    "d93a4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAPL test case",
        "description": "Definition of a call to a CAPL test case.",
        "type": "object",
        "required": [
          "capl-test-case"
        ],
        "additionalProperties": false,
        "properties": {
          "capl-test-case": {
            "type": "string",
            "description": "Function name of the CAPL test case."
          },
          "id": {
            "type": "string",
            "description": "Identifier of the CAPL test case."
          },
          "title": {
            "type": "string",
            "description": "Title of the CAPL test case."
          },
          "description": {
            "type": "string",
            "description": "Description of the CAPL test case."
          },
          "params": {
            "$ref": "#/definitions/942bd/full"
          }
        }
      }
    },
    "ffb07": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": ".NET completion",
        "type": "string",
        "description": "Function name of the .NET completion."
      }
    },
    "ccf9c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "parameter",
        "description": "Parameter value for a test case or test sequence.",
        "anyOf": [
          {
            "title": "Numeric Value",
            "type": "number"
          },
          {
            "title": "String Value",
            "type": "string"
          }
        ]
      }
    },
    "8c8eb": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "vtesttree.yaml",
        "description": "Vector test execution tree description",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "version"
        ],
        "properties": {
          "version": {
            "$ref": "#/definitions/c2b77/full"
          },
          "test-tree": {
            "$ref": "#/definitions/a25af/full"
          }
        }
      }
    },
    "7690e": {
      "full": {
        "description": "Element of a test tree or test fixture.",
        "oneOf": [
          {
            "$ref": "#/definitions/d93a4/full"
          },
          {
            "$ref": "#/definitions/0c68b/full"
          },
          {
            "$ref": "#/definitions/74942/full"
          },
          {
            "$ref": "#/definitions/0975e/full"
          },
          {
            "$ref": "#/definitions/6da62/full"
          },
          {
            "$ref": "#/definitions/91a61/full"
          },
          {
            "$ref": "#/definitions/3c2ad/full"
          }
        ]
      }
    },
    "0c68b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAPL test sequence",
        "description": "Definition of a call to a CAPL test sequence.",
        "type": "object",
        "required": [
          "capl-test-sequence"
        ],
        "additionalProperties": false,
        "properties": {
          "capl-test-sequence": {
            "type": "string",
            "description": "Function name of the CAPL test sequence."
          },
          "title": {
            "type": "string",
            "description": "Title of the CAPL test sequence."
          },
          "params": {
            "$ref": "#/definitions/942bd/full"
          }
        }
      }
    },
    "74942": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": ".NET test case",
        "description": "Definition of a call to a .NET test case.",
        "type": "object",
        "required": [
          "dotnet-test-case"
        ],
        "additionalProperties": false,
        "properties": {
          "dotnet-test-case": {
            "type": "string",
            "description": "Function name of the .NET test case."
          },
          "id": {
            "type": "string",
            "description": "Identifier of the .NET test case."
          },
          "title": {
            "type": "string",
            "description": "Title of the .NET test case."
          },
          "description": {
            "type": "string",
            "description": "Description of the .NET test case."
          },
          "params": {
            "$ref": "#/definitions/942bd/full"
          }
        }
      }
    },
    "0975e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": ".NET test sequence",
        "description": "Definition of a call to a .NET test sequence.",
        "type": "object",
        "required": [
          "dotnet-test-sequence"
        ],
        "additionalProperties": false,
        "properties": {
          "dotnet-test-sequence": {
            "type": "string",
            "description": "Function name of the .NET test sequence."
          },
          "title": {
            "type": "string",
            "description": "Title of the .NET test sequence."
          },
          "params": {
            "$ref": "#/definitions/942bd/full"
          }
        }
      }
    },
    "6da62": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Python test case",
        "description": "Definition of a call to a Python test case.",
        "type": "object",
        "required": [
          "python-test-case"
        ],
        "additionalProperties": false,
        "properties": {
          "python-test-case": {
            "type": "string",
            "description": "Function name of the Python test case."
          },
          "id": {
            "type": "string",
            "description": "Identifier of the Python test case."
          },
          "title": {
            "type": "string",
            "description": "Title of the Python test case."
          },
          "description": {
            "type": "string",
            "description": "Description of the Python test case."
          },
          "params": {
            "$ref": "#/definitions/942bd/full"
          }
        }
      }
    },
    "91a61": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Python test sequence",
        "description": "Definition of a call to a Python test sequence.",
        "type": "object",
        "required": [
          "python-test-sequence"
        ],
        "additionalProperties": false,
        "properties": {
          "python-test-sequence": {
            "type": "string",
            "description": "Function name of the Python test sequence."
          },
          "title": {
            "type": "string",
            "description": "Title of the Python test sequence."
          },
          "params": {
            "$ref": "#/definitions/942bd/full"
          }
        }
      }
    },
    "3c2ad": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Test fixture",
        "description": "Definition of a test fixture containing other test fixtures, test cases and test sequences.",
        "type": "object",
        "required": [
          "test-fixture"
        ],
        "additionalProperties": false,
        "properties": {
          "test-fixture": {
            "type": "string",
            "description": "Name of the test fixture."
          },
          "description": {
            "type": "string",
            "description": "Description of the test fixture."
          },
          "elements": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/7690e/full"
            }
          },
          "capl-preparation": {
            "$ref": "#/definitions/6b2dc/full"
          },
          "capl-completion": {
            "$ref": "#/definitions/54627/full"
          },
          "dotnet-preparation": {
            "$ref": "#/definitions/57796/full"
          },
          "dotnet-completion": {
            "$ref": "#/definitions/ffb07/full"
          },
          "python-preparation": {
            "$ref": "#/definitions/84433/full"
          },
          "python-completion": {
            "$ref": "#/definitions/96fd7/full"
          }
        },
        "dependencies": {
          "capl-completion": {
            "allOf": [
              {
                "not": {
                  "required": [
                    "dotnet-completion"
                  ]
                }
              },
              {
                "not": {
                  "required": [
                    "python-completion"
                  ]
                }
              }
            ]
          },
          "dotnet-completion": {
            "allOf": [
              {
                "not": {
                  "required": [
                    "capl-completion"
                  ]
                }
              },
              {
                "not": {
                  "required": [
                    "python-completion"
                  ]
                }
              }
            ]
          },
          "python-completion": {
            "allOf": [
              {
                "not": {
                  "required": [
                    "dotnet-completion"
                  ]
                }
              },
              {
                "not": {
                  "required": [
                    "capl-completion"
                  ]
                }
              }
            ]
          },
          "capl-preparation": {
            "allOf": [
              {
                "not": {
                  "required": [
                    "dotnet-preparation"
                  ]
                }
              },
              {
                "not": {
                  "required": [
                    "python-preparation"
                  ]
                }
              }
            ]
          },
          "dotnet-preparation": {
            "allOf": [
              {
                "not": {
                  "required": [
                    "capl-preparation"
                  ]
                }
              },
              {
                "not": {
                  "required": [
                    "python-preparation"
                  ]
                }
              }
            ]
          },
          "python-preparation": {
            "allOf": [
              {
                "not": {
                  "required": [
                    "dotnet-preparation"
                  ]
                }
              },
              {
                "not": {
                  "required": [
                    "capl-preparation"
                  ]
                }
              }
            ]
          }
        }
      }
    },
    "942bd": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "parameter list",
        "description": "List of parameter values for a test case or test sequence.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/ccf9c/full"
        }
      }
    },
    "6b2dc": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAPL preparation",
        "type": "string",
        "description": "Function name of the CAPL preparation."
      }
    },
    "54627": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAPL completion",
        "type": "string",
        "description": "Function name of the CAPL completion."
      }
    },
    "57796": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": ".NET preparation",
        "type": "string",
        "description": "Function name of the .NET preparation."
      }
    },
    "84433": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Python preparation",
        "type": "string",
        "description": "Function name of the Python preparation."
      }
    },
    "96fd7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Python completion",
        "type": "string",
        "description": "Function name of the Python completion."
      }
    }
  }
}
