|
[
{
"description" : "maxContains without contains is ignored" ,
"schema" : {
"maxContains" : 1
},
"tests" : [
{
"description" : "one item valid against lone maxContains" ,
"data" : [1],
"valid" : true
},
{
"description" : "two items still valid against lone maxContains" ,
"data" : [1, 2],
"valid" : true
}
]
},
{
"description" : "maxContains with contains" ,
"schema" : {
"contains" : { "const" : 1 },
"maxContains" : 1
},
"tests" : [
{
"description" : "empty array" ,
"data" : [],
"valid" : false
},
{
"description" : "all elements match, valid maxContains" ,
"data" : [1],
"valid" : true
},
{
"description" : "all elements match, invalid maxContains" ,
"data" : [1, 1],
"valid" : false
},
{
"description" : "some elements match, valid maxContains" ,
"data" : [1, 2],
"valid" : true
},
{
"description" : "some elements match, invalid maxContains" ,
"data" : [1, 2, 1],
"valid" : false
}
]
},
{
"description" : "maxContains with contains, value with a decimal" ,
"schema" : {
"contains" : { "const" : 1},
"maxContains" : 1.0
},
"tests" : [
{
"description" : "one element matches, valid maxContains" ,
"data" : [ 1 ],
"valid" : true
},
{
"description" : "too many elements match, invalid maxContains" ,
"data" : [ 1, 1 ],
"valid" : false
}
]
},
{
"description" : "minContains < maxContains" ,
"schema" : {
"contains" : { "const" : 1 },
"minContains" : 1,
"maxContains" : 3
},
"tests" : [
{
"description" : "array with actual < minContains < maxContains" ,
"data" : [],
"valid" : false
},
{
"description" : "array with minContains < actual < maxContains" ,
"data" : [1, 1],
"valid" : true
},
{
"description" : "array with minContains < maxContains < actual" ,
"data" : [1, 1, 1, 1],
"valid" : false
}
]
}
]
|