[{
  "description": "basic schema from z-schema benchmark (https://github.com/zaggino/z-schema)",
  "schema": {
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Product set",
    "type": "array",
    "items": {
      "title": "Product",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier for a product",
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "price": {
          "type": "number",
          "minimum": 0,
          "exclusiveMinimum": true
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "uniqueItems": true
        },
        "dimensions": {
          "type": "object",
          "properties": {
            "length": {
              "type": "number"
            },
            "width": {
              "type": "number"
            },
            "height": {
              "type": "number"
            }
          },
          "required": ["length", "width", "height"]
        }
      },
      "required": ["id", "name", "price"]
    }
  },
  "tests": [{
      "description": "valid array from z-schema benchmark",
      "data": [{
          "id": 2,
          "name": "An ice sculpture",
          "price": 12.50,
          "tags": ["cold", "ice"],
          "dimensions": {
            "length": 7.0,
            "width": 12.0,
            "height": 9.5
          },
          "warehouseLocation": {
            "latitude": -78.75,
            "longitude": 20.4
          }
        },
        {
          "id": 3,
          "name": "A blue mouse",
          "price": 25.50,
          "dimensions": {
            "length": 3.1,
            "width": 1.0,
            "height": 1.0
          },
          "warehouseLocation": {
            "latitude": 54.4,
            "longitude": -32.7
          }
        }
      ],
      "valid": true
    },
    {
      "description": "not array",
      "data": 1,
      "valid": false
    },
    {
      "description": "array of not onjects",
      "data": [1, 2, 3],
      "valid": false
    },
    {
      "description": "missing required properties",
      "data": [{}],
      "valid": false
    },
    {
      "description": "required property of wrong type",
      "data": [{
        "id": 1,
        "name": "product",
        "price": "not valid"
      }],
      "valid": false
    },
    {
      "description": "smallest valid product",
      "data": [{
        "id": 1,
        "name": "product",
        "price": 100
      }],
      "valid": true
    },
    {
      "description": "tags should be array",
      "data": [{
        "tags": {},
        "id": 1,
        "name": "product",
        "price": 100
      }],
      "valid": false
    },
    {
      "description": "dimensions should be object",
      "data": [{
        "dimensions": [],
        "id": 1,
        "name": "product",
        "price": 100
      }],
      "valid": false
    },
    {
      "description": "valid product with tag",
      "data": [{
        "tags": ["product"],
        "id": 1,
        "name": "product",
        "price": 100
      }],
      "valid": true
    },
    {
      "description": "dimensions miss required properties",
      "data": [{
        "dimensions": {},
        "tags": ["product"],
        "id": 1,
        "name": "product",
        "price": 100
      }],
      "valid": false
    },
    {
      "description": "valid product with tag and dimensions",
      "data": [{
        "dimensions": {
          "length": 7,
          "width": 12,
          "height": 9.5
        },
        "tags": ["product"],
        "id": 1,
        "name": "product",
        "price": 100
      }],
      "valid": true
    }
  ]
}]
