[
  {
    "title": "`properties`, `patternProperties`, and `additionalProperties`",
    "schema": {
      "properties": {
        "foo": { "title": "Foo" }
      },
      "patternProperties": {
        "^a": { "title": "Bar" }
      },
      "additionalProperties": { "title": "Baz" }
    },
    "subjects": [
      {
        "instance": {},
        "assertions": [
          {
            "location": "#/foo",
            "keyword": "title",
            "expected": []
          },
          {
            "location": "#/apple",
            "keyword": "title",
            "expected": []
          },
          {
            "location": "#/bar",
            "keyword": "title",
            "expected": []
          }
        ]
      },
      {
        "instance": {
          "foo": {},
          "apple": {},
          "baz": {}
        },
        "assertions": [
          {
            "location": "#/foo",
            "keyword": "title",
            "expected": ["Foo"]
          },
          {
            "location": "#/apple",
            "keyword": "title",
            "expected": ["Bar"]
          },
          {
            "location": "#/baz",
            "keyword": "title",
            "expected": ["Baz"]
          }
        ]
      }
    ]
  },
  {
    "title": "`propertyNames`",
    "schema": {
      "propertyNames": {
        "const": "foo",
        "title": "Foo"
      }
    },
    "subjects": [
      {
        "instance": { "foo": 42 },
        "assertions": [
          {
            "location": "#",
            "keyword": "propertyNames",
            "expected": []
          },
          {
            "location": "#/foo",
            "keyword": "title",
            "expected": []
          }
        ]
      }
    ]
  },
  {
    "title": "`prefixItems` and `items`",
    "schema": {
      "prefixItems": [{ "title": "Foo" }],
      "items": { "title": "Bar" }
    },
    "subjects": [
      {
        "instance": ["foo", "bar"],
        "assertions": [
          {
            "location": "#/0",
            "keyword": "title",
            "expected": ["Foo"]
          },
          {
            "location": "#/1",
            "keyword": "title",
            "expected": ["Bar"]
          },
          {
            "location": "#/2",
            "keyword": "title",
            "expected": []
          }
        ]
      }
    ]
  },
  {
    "title": "`contains`",
    "schema": {
      "contains": {
        "type": "number",
        "title": "Foo"
      }
    },
    "subjects": [
      {
        "instance": ["foo", 42, true],
        "assertions": [
          {
            "location": "#/0",
            "keyword": "title",
            "expected": []
          },
          {
            "location": "#/1",
            "keyword": "title",
            "expected": ["Foo"]
          },
          {
            "location": "#/2",
            "keyword": "title",
            "expected": []
          },
          {
            "location": "#/3",
            "keyword": "title",
            "expected": []
          }
        ]
      }
    ]
  },
  {
    "title": "`allOf`",
    "schema": {
      "allOf": [
        { "title": "Foo" },
        { "title": "Bar" }
      ]
    },
    "subjects": [
      {
        "instance": "foo",
        "assertions": [
          {
            "location": "#",
            "keyword": "allOf",
            "expected": []
          },
          {
            "location": "#",
            "keyword": "title",
            "expected": ["Bar", "Foo"]
          }
        ]
      }
    ]
  },
  {
    "title": "`anyOf`",
    "schema": {
      "anyOf": [
        {
          "type": "integer",
          "title": "Foo"
        },
        {
          "type": "number",
          "title": "Bar"
        }
      ]
    },
    "subjects": [
      {
        "instance": 42,
        "assertions": [
          {
            "location": "#",
            "keyword": "anyOf",
            "expected": []
          },
          {
            "location": "#",
            "keyword": "title",
            "expected": ["Bar", "Foo"]
          }
        ]
      },
      {
        "instance": 4.2,
        "assertions": [
          {
            "location": "#",
            "keyword": "title",
            "expected": ["Bar"]
          }
        ]
      }
    ]
  },
  {
    "title": "`oneOf`",
    "schema": {
      "oneOf": [
        {
          "type": "string",
          "title": "Foo"
        },
        {
          "type": "number",
          "title": "Bar"
        }
      ]
    },
    "subjects": [
      {
        "instance": "foo",
        "assertions": [
          {
            "location": "#",
            "keyword": "oneOf",
            "expected": []
          },
          {
            "location": "#",
            "keyword": "title",
            "expected": ["Foo"]
          }
        ]
      },
      {
        "instance": 42,
        "assertions": [
          {
            "location": "#",
            "keyword": "title",
            "expected": ["Bar"]
          }
        ]
      }
    ]
  },
  {
    "title": "`not`",
    "schema": {
      "title": "Foo",
      "not": {
        "not": { "title": "Bar" }
      }
    },
    "subjects": [
      {
        "instance": {},
        "assertions": [
          {
            "location": "#",
            "keyword": "not",
            "expected": []
          },
          {
            "location": "#",
            "keyword": "title",
            "expected": ["Foo"]
          }
        ]
      }
    ]
  },
  {
    "title": "`dependentSchemas`",
    "schema": {
      "dependentSchemas": {
        "foo": { "title": "Foo" }
      }
    },
    "subjects": [
      {
        "instance": { "foo": 42 },
        "assertions": [
          {
            "keyword": "dependentSchemas",
            "location": "#",
            "expected": []
          },
          {
            "keyword": "title",
            "location": "#",
            "expected": ["Foo"]
          }
        ]
      },
      {
        "instance": { "foo": 42 },
        "assertions": [
          {
            "keyword": "title",
            "location": "#/foo",
            "expected": []
          }
        ]
      }
    ]
  },
  {
    "title": "`if`, `then`, and `else`",
    "schema": {
      "if": {
        "title": "If",
        "type": "string"
      },
      "then": { "title": "Then" },
      "else": { "title": "Else" }
    },
    "subjects": [
      {
        "instance": "foo",
        "assertions": [
          {
            "location": "#",
            "keyword": "if",
            "expected": []
          },
          {
            "location": "#",
            "keyword": "then",
            "expected": []
          },
          {
            "location": "#",
            "keyword": "title",
            "expected": ["Then", "If"]
          }
        ]
      },
      {
        "instance": 42,
        "assertions": [
          {
            "location": "#",
            "keyword": "if",
            "expected": []
          },
          {
            "location": "#",
            "keyword": "else",
            "expected": []
          },
          {
            "location": "#",
            "keyword": "title",
            "expected": ["Else", "If"]
          }
        ]
      }
    ]
  }
]
