[ { "description": "maxContains without contains is ignored", "database": { "schemas": [ { "maxContains": 1, "extensible": true, "$id": "maxContains_0_0" } ] }, "tests": [ { "description": "one item valid against lone maxContains", "data": [ 1 ], "valid": true, "schema_id": "maxContains_0_0" }, { "description": "two items still valid against lone maxContains", "data": [ 1, 2 ], "valid": true, "schema_id": "maxContains_0_0" } ] }, { "description": "maxContains with contains", "database": { "schemas": [ { "contains": { "const": 1 }, "maxContains": 1, "extensible": true, "$id": "maxContains_1_0" } ] }, "tests": [ { "description": "empty data", "data": [], "valid": false, "schema_id": "maxContains_1_0" }, { "description": "all elements match, valid maxContains", "data": [ 1 ], "valid": true, "schema_id": "maxContains_1_0" }, { "description": "all elements match, invalid maxContains", "data": [ 1, 1 ], "valid": false, "schema_id": "maxContains_1_0" }, { "description": "some elements match, valid maxContains", "data": [ 1, 2 ], "valid": true, "schema_id": "maxContains_1_0" }, { "description": "some elements match, invalid maxContains", "data": [ 1, 2, 1 ], "valid": false, "schema_id": "maxContains_1_0" } ] }, { "description": "maxContains with contains, value with a decimal", "database": { "schemas": [ { "contains": { "const": 1 }, "maxContains": 1, "extensible": true, "$id": "maxContains_2_0" } ] }, "tests": [ { "description": "one element matches, valid maxContains", "data": [ 1 ], "valid": true, "schema_id": "maxContains_2_0" }, { "description": "too many elements match, invalid maxContains", "data": [ 1, 1 ], "valid": false, "schema_id": "maxContains_2_0" } ] }, { "description": "minContains < maxContains", "database": { "schemas": [ { "contains": { "const": 1 }, "minContains": 1, "maxContains": 3, "extensible": true, "$id": "maxContains_3_0" } ] }, "tests": [ { "description": "actual < minContains < maxContains", "data": [], "valid": false, "schema_id": "maxContains_3_0" }, { "description": "minContains < actual < maxContains", "data": [ 1, 1 ], "valid": true, "schema_id": "maxContains_3_0" }, { "description": "minContains < maxContains < actual", "data": [ 1, 1, 1, 1 ], "valid": false, "schema_id": "maxContains_3_0" } ] }, { "description": "extensible: true allows non-matching items in maxContains", "database": { "schemas": [ { "contains": { "const": 1 }, "maxContains": 1, "extensible": true, "$id": "maxContains_4_0" } ] }, "tests": [ { "description": "extra items disregarded for maxContains", "data": [ 1, 2 ], "valid": true, "schema_id": "maxContains_4_0" } ] } ]