cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2020-12/minContains.json (about) 1 [ 2 { 3 "description": "minContains without contains is ignored", 4 "schema": { 5 "$schema": "https://json-schema.org/draft/2020-12/schema", 6 "minContains": 1 7 }, 8 "tests": [ 9 { 10 "description": "one item valid against lone minContains", 11 "data": [ 12 1 13 ], 14 "valid": true 15 }, 16 { 17 "description": "zero items still valid against lone minContains", 18 "data": [], 19 "valid": true 20 } 21 ] 22 }, 23 { 24 "description": "minContains=1 with contains", 25 "schema": { 26 "$schema": "https://json-schema.org/draft/2020-12/schema", 27 "contains": { 28 "const": 1 29 }, 30 "minContains": 1 31 }, 32 "tests": [ 33 { 34 "description": "empty data", 35 "data": [], 36 "valid": false 37 }, 38 { 39 "description": "no elements match", 40 "data": [ 41 2 42 ], 43 "valid": false 44 }, 45 { 46 "description": "single element matches, valid minContains", 47 "data": [ 48 1 49 ], 50 "valid": true 51 }, 52 { 53 "description": "some elements match, valid minContains", 54 "data": [ 55 1, 56 2 57 ], 58 "valid": true 59 }, 60 { 61 "description": "all elements match, valid minContains", 62 "data": [ 63 1, 64 1 65 ], 66 "valid": true 67 } 68 ] 69 }, 70 { 71 "description": "minContains=2 with contains", 72 "schema": { 73 "$schema": "https://json-schema.org/draft/2020-12/schema", 74 "contains": { 75 "const": 1 76 }, 77 "minContains": 2 78 }, 79 "tests": [ 80 { 81 "description": "empty data", 82 "data": [], 83 "valid": false 84 }, 85 { 86 "description": "all elements match, invalid minContains", 87 "data": [ 88 1 89 ], 90 "valid": false 91 }, 92 { 93 "description": "some elements match, invalid minContains", 94 "data": [ 95 1, 96 2 97 ], 98 "valid": false 99 }, 100 { 101 "description": "all elements match, valid minContains (exactly as needed)", 102 "data": [ 103 1, 104 1 105 ], 106 "valid": true 107 }, 108 { 109 "description": "all elements match, valid minContains (more than needed)", 110 "data": [ 111 1, 112 1, 113 1 114 ], 115 "valid": true 116 }, 117 { 118 "description": "some elements match, valid minContains", 119 "data": [ 120 1, 121 2, 122 1 123 ], 124 "valid": true 125 } 126 ] 127 }, 128 { 129 "description": "minContains=2 with contains with a decimal value", 130 "schema": { 131 "$schema": "https://json-schema.org/draft/2020-12/schema", 132 "contains": { 133 "const": 1 134 }, 135 "minContains": 2.0 136 }, 137 "tests": [ 138 { 139 "description": "one element matches, invalid minContains", 140 "data": [ 141 1 142 ], 143 "valid": false 144 }, 145 { 146 "description": "both elements match, valid minContains", 147 "data": [ 148 1, 149 1 150 ], 151 "valid": true 152 } 153 ] 154 }, 155 { 156 "description": "maxContains = minContains", 157 "schema": { 158 "$schema": "https://json-schema.org/draft/2020-12/schema", 159 "contains": { 160 "const": 1 161 }, 162 "maxContains": 2, 163 "minContains": 2 164 }, 165 "tests": [ 166 { 167 "description": "empty data", 168 "data": [], 169 "valid": false 170 }, 171 { 172 "description": "all elements match, invalid minContains", 173 "data": [ 174 1 175 ], 176 "valid": false 177 }, 178 { 179 "description": "all elements match, invalid maxContains", 180 "data": [ 181 1, 182 1, 183 1 184 ], 185 "valid": false 186 }, 187 { 188 "description": "all elements match, valid maxContains and minContains", 189 "data": [ 190 1, 191 1 192 ], 193 "valid": true 194 } 195 ] 196 }, 197 { 198 "description": "maxContains \u003c minContains", 199 "schema": { 200 "$schema": "https://json-schema.org/draft/2020-12/schema", 201 "contains": { 202 "const": 1 203 }, 204 "maxContains": 1, 205 "minContains": 3 206 }, 207 "tests": [ 208 { 209 "description": "empty data", 210 "data": [], 211 "valid": false 212 }, 213 { 214 "description": "invalid minContains", 215 "data": [ 216 1 217 ], 218 "valid": false 219 }, 220 { 221 "description": "invalid maxContains", 222 "data": [ 223 1, 224 1, 225 1 226 ], 227 "valid": false 228 }, 229 { 230 "description": "invalid maxContains and minContains", 231 "data": [ 232 1, 233 1 234 ], 235 "valid": false 236 } 237 ] 238 }, 239 { 240 "description": "minContains = 0", 241 "schema": { 242 "$schema": "https://json-schema.org/draft/2020-12/schema", 243 "contains": { 244 "const": 1 245 }, 246 "minContains": 0 247 }, 248 "tests": [ 249 { 250 "description": "empty data", 251 "data": [], 252 "valid": true 253 }, 254 { 255 "description": "minContains = 0 makes contains always pass", 256 "data": [ 257 2 258 ], 259 "valid": true 260 } 261 ] 262 }, 263 { 264 "description": "minContains = 0 with maxContains", 265 "schema": { 266 "$schema": "https://json-schema.org/draft/2020-12/schema", 267 "contains": { 268 "const": 1 269 }, 270 "minContains": 0, 271 "maxContains": 1 272 }, 273 "tests": [ 274 { 275 "description": "empty data", 276 "data": [], 277 "valid": true 278 }, 279 { 280 "description": "not more than maxContains", 281 "data": [ 282 1 283 ], 284 "valid": true 285 }, 286 { 287 "description": "too many", 288 "data": [ 289 1, 290 1 291 ], 292 "valid": false 293 } 294 ] 295 } 296 ]