[ { "description": "if/then keyword validation", "schema": { "if": { "minimum": 10 }, "then": { "multipleOf": 2 } }, "tests": [ { "description": ">= 10 and even is valid", "data": 12, "valid": true }, { "description": ">= 10 and odd is invalid", "data": 11, "valid": false }, { "description": "< 10 is valid", "data": 9, "valid": true } ] }, { "description": "if/then/else keyword validation", "schema": { "if": { "maximum": 10 }, "then": { "multipleOf": 2 }, "else": { "multipleOf": 5 } }, "tests": [ { "description": "<=10 and even is valid", "data": 8, "valid": true }, { "description": "<=10 and odd is invalid", "data": 7, "valid": false }, { "description": ">10 and mulitple of 5 is valid", "data": 15, "valid": true }, { "description": ">10 and not mulitple of 5 is invalid", "data": 17, "valid": false } ] }, { "description": "if keyword with id in sibling subschema", "schema": { "$id": "http://example.com/base_if", "if": { "$id": "http://example.com/if", "minimum": 10 }, "then": { "$ref": "#/definitions/def" }, "definitions": { "def": { "multipleOf": 2 } } }, "tests": [ { "description": ">= 10 and even is valid", "data": 12, "valid": true }, { "description": ">= 10 and odd is invalid", "data": 11, "valid": false }, { "description": "< 10 is valid", "data": 9, "valid": true } ] }, { "description": "then/else without if should be ignored", "schema": { "then": { "multipleOf": 2 }, "else": { "multipleOf": 5 } }, "tests": [ { "description": "even is valid", "data": 8, "valid": true }, { "description": "odd is valid", "data": 7, "valid": true }, { "description": "mulitple of 5 is valid", "data": 15, "valid": true }, { "description": "not mulitple of 5 is valid", "data": 17, "valid": true } ] }, { "description": "if without then/else should be ignored", "schema": { "if": { "maximum": 10 } }, "tests": [ { "description": "<=10 is valid", "data": 8, "valid": true }, { "description": ">10 is valid", "data": 15, "valid": true } ] } ]