{
  "$id": "https://json.schemastore.org/vtesttree-schema.json",
  "type": "object",
  "$ref": "#/definitions/3894/full",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "vtesttree.yaml",
  "definitions": {
    "3894": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "vtesttree.yaml",
        "description": "Vector test execution tree description",
        "type": "object",
        "required": ["version"],
        "oneOf": [
          {
            "allOf": [
              {
                "properties": {
                  "version": {
                    "const": "1.0.0"
                  }
                }
              },
              {
                "$ref": "#/definitions/b3b2/full"
              }
            ]
          },
          {
            "allOf": [
              {
                "properties": {
                  "version": {
                    "const": "2.0.0"
                  }
                }
              },
              {
                "$ref": "#/definitions/051f/full"
              }
            ]
          },
          {
            "allOf": [
              {
                "properties": {
                  "version": {
                    "const": "2.1.0"
                  }
                }
              },
              {
                "$ref": "#/definitions/53ad/full"
              }
            ]
          }
        ]
      }
    },
    "b3b2": {
      "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/2493/full"
          },
          "test-tree": {
            "$ref": "#/definitions/dd62/full"
          }
        }
      }
    },
    "051f": {
      "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/d088/full"
          },
          "test-tree": {
            "$ref": "#/definitions/4c60/full"
          }
        }
      }
    },
    "53ad": {
      "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/c2b7/full"
          },
          "test-tree": {
            "$ref": "#/definitions/61d9/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"]
      }
    },
    "dd62": {
      "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/aac1/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"]
      }
    },
    "4c60": {
      "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/3114/full"
        }
      }
    },
    "c2b7": {
      "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"]
      }
    },
    "61d9": {
      "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/0c64/full"
        }
      }
    },
    "aac1": {
      "full": {
        "description": "Element of a test tree or test group.",
        "oneOf": [
          {
            "$ref": "#/definitions/f22c/full"
          },
          {
            "$ref": "#/definitions/d35d/full"
          },
          {
            "$ref": "#/definitions/eba0/full"
          }
        ]
      }
    },
    "3114": {
      "full": {
        "description": "Element of a test tree or test fixture.",
        "oneOf": [
          {
            "$ref": "#/definitions/f22c/full"
          },
          {
            "$ref": "#/definitions/18a5/full"
          },
          {
            "$ref": "#/definitions/51bb/full"
          }
        ]
      }
    },
    "0c64": {
      "full": {
        "description": "Element of a test tree or test fixture.",
        "oneOf": [
          {
            "$ref": "#/definitions/2755/full"
          },
          {
            "$ref": "#/definitions/e4de/full"
          },
          {
            "$ref": "#/definitions/d6e0/full"
          },
          {
            "$ref": "#/definitions/f9dc/full"
          },
          {
            "$ref": "#/definitions/dac5/full"
          },
          {
            "$ref": "#/definitions/7666/full"
          },
          {
            "$ref": "#/definitions/a4ca/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"
          }
        }
      }
    },
    "d35d": {
      "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"
          }
        }
      }
    },
    "eba0": {
      "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/aac1/full"
            }
          }
        }
      }
    },
    "18a5": {
      "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"
          }
        }
      }
    },
    "51bb": {
      "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/3114/full"
            }
          }
        }
      }
    },
    "2755": {
      "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/8c20/full"
          }
        }
      }
    },
    "e4de": {
      "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/8c20/full"
          }
        }
      }
    },
    "d6e0": {
      "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/8c20/full"
          }
        }
      }
    },
    "f9dc": {
      "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/8c20/full"
          }
        }
      }
    },
    "dac5": {
      "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/8c20/full"
          }
        }
      }
    },
    "7666": {
      "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/8c20/full"
          }
        }
      }
    },
    "a4ca": {
      "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"],
        "anyOf": [
          {
            "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/0c64/full"
                }
              },
              "capl-preparation": {
                "$ref": "#/definitions/6b2d/full"
              },
              "capl-completion": {
                "$ref": "#/definitions/5462/full"
              }
            }
          },
          {
            "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/0c64/full"
                }
              },
              "capl-preparation": {
                "$ref": "#/definitions/6b2d/full"
              },
              "dotnet-completion": {
                "$ref": "#/definitions/ffb0/full"
              }
            }
          },
          {
            "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/0c64/full"
                }
              },
              "capl-preparation": {
                "$ref": "#/definitions/6b2d/full"
              },
              "python-completion": {
                "$ref": "#/definitions/352b/full"
              }
            }
          },
          {
            "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/0c64/full"
                }
              },
              "dotnet-preparation": {
                "$ref": "#/definitions/5779/full"
              },
              "capl-completion": {
                "$ref": "#/definitions/5462/full"
              }
            }
          },
          {
            "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/0c64/full"
                }
              },
              "dotnet-preparation": {
                "$ref": "#/definitions/5779/full"
              },
              "dotnet-completion": {
                "$ref": "#/definitions/ffb0/full"
              }
            }
          },
          {
            "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/0c64/full"
                }
              },
              "dotnet-preparation": {
                "$ref": "#/definitions/5779/full"
              },
              "python-completion": {
                "$ref": "#/definitions/352b/full"
              }
            }
          },
          {
            "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/0c64/full"
                }
              },
              "python-preparation": {
                "$ref": "#/definitions/8443/full"
              },
              "capl-completion": {
                "$ref": "#/definitions/5462/full"
              }
            }
          },
          {
            "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/0c64/full"
                }
              },
              "python-preparation": {
                "$ref": "#/definitions/8443/full"
              },
              "dotnet-completion": {
                "$ref": "#/definitions/ffb0/full"
              }
            }
          },
          {
            "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/0c64/full"
                }
              },
              "python-preparation": {
                "$ref": "#/definitions/8443/full"
              },
              "python-completion": {
                "$ref": "#/definitions/352b/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"
        }
      }
    },
    "8c20": {
      "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/ccf9/full"
        }
      }
    },
    "6b2d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAPL preparation",
        "type": "string",
        "description": "Function name of the CAPL preparation."
      }
    },
    "5462": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "CAPL completion",
        "type": "string",
        "description": "Function name of the CAPL completion."
      }
    },
    "ffb0": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": ".NET completion",
        "type": "string",
        "description": "Function name of the .NET completion."
      }
    },
    "352b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Python completion",
        "type": "string",
        "description": "Function name of the Python completion."
      }
    },
    "5779": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": ".NET preparation",
        "type": "string",
        "description": "Function name of the .NET preparation."
      }
    },
    "8443": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Python preparation",
        "type": "string",
        "description": "Function name of the Python preparation."
      }
    },
    "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"
          }
        ]
      }
    },
    "ccf9": {
      "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"
          }
        ]
      }
    }
  }
}
