{
  "$id": "https://json.schemastore.org/vtesttree-schema.json",
  "$ref": "#/definitions/51e8/full",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "51e8": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Json schema for vtesttree.yaml files.",
        "type": "object",
        "required": ["version"],
        "oneOf": [
          {
            "allOf": [
              {
                "properties": {
                  "version": {
                    "const": "1.0.0"
                  }
                }
              },
              {
                "$ref": "#/definitions/7d33/full"
              }
            ]
          },
          {
            "allOf": [
              {
                "properties": {
                  "version": {
                    "const": "2.0.0"
                  }
                }
              },
              {
                "$ref": "#/definitions/407e/full"
              }
            ]
          }
        ]
      }
    },
    "7d33": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Json schema for vtesttree.yaml files.",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/2493/full"
          },
          "test-tree": {
            "$ref": "#/definitions/3bf3/full"
          }
        }
      }
    },
    "407e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Json schema for vtesttree.yaml files.",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/d088/full"
          },
          "test-tree": {
            "$ref": "#/definitions/2956/full"
          }
        }
      }
    },
    "2493": {
      "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": "1.0.0",
        "type": "string",
        "examples": ["1.0.0"]
      }
    },
    "3bf3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Test tree",
        "description": "Definition of a test tree consisting of test groups, CAPL test cases and CAPL test sequences.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/2512/full"
        }
      }
    },
    "d088": {
      "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.0.0",
        "type": "string",
        "examples": ["2.0.0"]
      }
    },
    "2956": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Test tree",
        "description": "Definition of a test tree consisting of test fixtures, CAPL test cases and CAPL test sequences.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/98a6/full"
        }
      }
    },
    "2512": {
      "full": {
        "description": "Element of a test tree or test group.",
        "oneOf": [
          {
            "$ref": "#/definitions/f22c/full"
          },
          {
            "$ref": "#/definitions/20d0/full"
          },
          {
            "$ref": "#/definitions/7728/full"
          }
        ]
      }
    },
    "98a6": {
      "full": {
        "description": "Element of a test tree or test fixture.",
        "oneOf": [
          {
            "$ref": "#/definitions/f22c/full"
          },
          {
            "$ref": "#/definitions/6ad0/full"
          },
          {
            "$ref": "#/definitions/ee14/full"
          }
        ]
      }
    },
    "f22c": {
      "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/fd91/full"
          }
        }
      }
    },
    "20d0": {
      "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/fd91/full"
          }
        }
      }
    },
    "7728": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Test group",
        "description": "Definition of a test group containing other test groups, CAPL test cases and CAPL test sequences.",
        "type": "object",
        "required": ["test-group"],
        "additionalProperties": false,
        "properties": {
          "test-group": {
            "type": "string",
            "description": "Name of the test group."
          },
          "description": {
            "type": "string",
            "description": "Description of the test group."
          },
          "elements": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/2512/full"
            }
          }
        }
      }
    },
    "6ad0": {
      "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/fd91/full"
          }
        }
      }
    },
    "ee14": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Test fixture",
        "description": "Definition of a test fixture containing other test fixtures, CAPL test cases and CAPL 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/98a6/full"
            }
          }
        }
      }
    },
    "fd91": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAPL parameter list",
        "description": "List of parameter values for a CAPL test case or CAPL test sequence.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/8692/full"
        }
      }
    },
    "8692": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAPL parameter",
        "description": "Parameter value for a CAPL test case or CAPL test sequence.",
        "anyOf": [
          {
            "title": "Numeric Value",
            "type": "number"
          },
          {
            "title": "String Value",
            "type": "string"
          }
        ]
      }
    }
  },
  "title": "Json schema for vtesttree.yaml files.",
  "type": "object"
}