cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2019-09/maxContains.json (about) 1 [ 2 { 3 "description": "maxContains without contains is ignored", 4 "schema": { 5 "$schema": "https://json-schema.org/draft/2019-09/schema", 6 "maxContains": 1 7 }, 8 "tests": [ 9 { 10 "description": "one item valid against lone maxContains", 11 "data": [ 12 1 13 ], 14 "valid": true 15 }, 16 { 17 "description": "two items still valid against lone maxContains", 18 "data": [ 19 1, 20 2 21 ], 22 "valid": true 23 } 24 ] 25 }, 26 { 27 "description": "maxContains with contains", 28 "schema": { 29 "$schema": "https://json-schema.org/draft/2019-09/schema", 30 "contains": { 31 "const": 1 32 }, 33 "maxContains": 1 34 }, 35 "tests": [ 36 { 37 "description": "empty data", 38 "data": [], 39 "valid": false 40 }, 41 { 42 "description": "all elements match, valid maxContains", 43 "data": [ 44 1 45 ], 46 "valid": true 47 }, 48 { 49 "description": "all elements match, invalid maxContains", 50 "data": [ 51 1, 52 1 53 ], 54 "valid": false 55 }, 56 { 57 "description": "some elements match, valid maxContains", 58 "data": [ 59 1, 60 2 61 ], 62 "valid": true 63 }, 64 { 65 "description": "some elements match, invalid maxContains", 66 "data": [ 67 1, 68 2, 69 1 70 ], 71 "valid": false 72 } 73 ] 74 }, 75 { 76 "description": "maxContains with contains, value with a decimal", 77 "schema": { 78 "$schema": "https://json-schema.org/draft/2019-09/schema", 79 "contains": { 80 "const": 1 81 }, 82 "maxContains": 1.0 83 }, 84 "tests": [ 85 { 86 "description": "one element matches, valid maxContains", 87 "data": [ 88 1 89 ], 90 "valid": true 91 }, 92 { 93 "description": "too many elements match, invalid maxContains", 94 "data": [ 95 1, 96 1 97 ], 98 "valid": false 99 } 100 ] 101 }, 102 { 103 "description": "minContains \u003c maxContains", 104 "schema": { 105 "$schema": "https://json-schema.org/draft/2019-09/schema", 106 "contains": { 107 "const": 1 108 }, 109 "minContains": 1, 110 "maxContains": 3 111 }, 112 "tests": [ 113 { 114 "description": "actual \u003c minContains \u003c maxContains", 115 "data": [], 116 "valid": false 117 }, 118 { 119 "description": "minContains \u003c actual \u003c maxContains", 120 "data": [ 121 1, 122 1 123 ], 124 "valid": true 125 }, 126 { 127 "description": "minContains \u003c maxContains \u003c actual", 128 "data": [ 129 1, 130 1, 131 1, 132 1 133 ], 134 "valid": false 135 } 136 ] 137 } 138 ]