Skip to content

Commit 697944e

Browse files
Merge pull request #374 from karenetheridge/ether/allOf-anyOf-oneOf
test all the *Of keywords together
2 parents 44b99ed + 33f8549 commit 697944e

File tree

4 files changed

+200
-0
lines changed

4 files changed

+200
-0
lines changed

tests/draft2019-09/allOf.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,5 +240,55 @@
240240
"valid": false
241241
}
242242
]
243+
},
244+
{
245+
"description": "allOf combined with anyOf, oneOf",
246+
"schema": {
247+
"allOf": [ { "multipleOf": 2 } ],
248+
"anyOf": [ { "multipleOf": 3 } ],
249+
"oneOf": [ { "multipleOf": 5 } ]
250+
},
251+
"tests": [
252+
{
253+
"description": "allOf: false, anyOf: false, oneOf: false",
254+
"data": 1,
255+
"valid": false
256+
},
257+
{
258+
"description": "allOf: false, anyOf: false, oneOf: true",
259+
"data": 5,
260+
"valid": false
261+
},
262+
{
263+
"description": "allOf: false, anyOf: true, oneOf: false",
264+
"data": 3,
265+
"valid": false
266+
},
267+
{
268+
"description": "allOf: false, anyOf: true, oneOf: true",
269+
"data": 15,
270+
"valid": false
271+
},
272+
{
273+
"description": "allOf: true, anyOf: false, oneOf: false",
274+
"data": 2,
275+
"valid": false
276+
},
277+
{
278+
"description": "allOf: true, anyOf: false, oneOf: true",
279+
"data": 10,
280+
"valid": false
281+
},
282+
{
283+
"description": "allOf: true, anyOf: true, oneOf: false",
284+
"data": 6,
285+
"valid": false
286+
},
287+
{
288+
"description": "allOf: true, anyOf: true, oneOf: true",
289+
"data": 30,
290+
"valid": true
291+
}
292+
]
243293
}
244294
]

tests/draft4/allOf.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,5 +207,55 @@
207207
"valid": false
208208
}
209209
]
210+
},
211+
{
212+
"description": "allOf combined with anyOf, oneOf",
213+
"schema": {
214+
"allOf": [ { "multipleOf": 2 } ],
215+
"anyOf": [ { "multipleOf": 3 } ],
216+
"oneOf": [ { "multipleOf": 5 } ]
217+
},
218+
"tests": [
219+
{
220+
"description": "allOf: false, anyOf: false, oneOf: false",
221+
"data": 1,
222+
"valid": false
223+
},
224+
{
225+
"description": "allOf: false, anyOf: false, oneOf: true",
226+
"data": 5,
227+
"valid": false
228+
},
229+
{
230+
"description": "allOf: false, anyOf: true, oneOf: false",
231+
"data": 3,
232+
"valid": false
233+
},
234+
{
235+
"description": "allOf: false, anyOf: true, oneOf: true",
236+
"data": 15,
237+
"valid": false
238+
},
239+
{
240+
"description": "allOf: true, anyOf: false, oneOf: false",
241+
"data": 2,
242+
"valid": false
243+
},
244+
{
245+
"description": "allOf: true, anyOf: false, oneOf: true",
246+
"data": 10,
247+
"valid": false
248+
},
249+
{
250+
"description": "allOf: true, anyOf: true, oneOf: false",
251+
"data": 6,
252+
"valid": false
253+
},
254+
{
255+
"description": "allOf: true, anyOf: true, oneOf: true",
256+
"data": 30,
257+
"valid": true
258+
}
259+
]
210260
}
211261
]

tests/draft6/allOf.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,5 +240,55 @@
240240
"valid": false
241241
}
242242
]
243+
},
244+
{
245+
"description": "allOf combined with anyOf, oneOf",
246+
"schema": {
247+
"allOf": [ { "multipleOf": 2 } ],
248+
"anyOf": [ { "multipleOf": 3 } ],
249+
"oneOf": [ { "multipleOf": 5 } ]
250+
},
251+
"tests": [
252+
{
253+
"description": "allOf: false, anyOf: false, oneOf: false",
254+
"data": 1,
255+
"valid": false
256+
},
257+
{
258+
"description": "allOf: false, anyOf: false, oneOf: true",
259+
"data": 5,
260+
"valid": false
261+
},
262+
{
263+
"description": "allOf: false, anyOf: true, oneOf: false",
264+
"data": 3,
265+
"valid": false
266+
},
267+
{
268+
"description": "allOf: false, anyOf: true, oneOf: true",
269+
"data": 15,
270+
"valid": false
271+
},
272+
{
273+
"description": "allOf: true, anyOf: false, oneOf: false",
274+
"data": 2,
275+
"valid": false
276+
},
277+
{
278+
"description": "allOf: true, anyOf: false, oneOf: true",
279+
"data": 10,
280+
"valid": false
281+
},
282+
{
283+
"description": "allOf: true, anyOf: true, oneOf: false",
284+
"data": 6,
285+
"valid": false
286+
},
287+
{
288+
"description": "allOf: true, anyOf: true, oneOf: true",
289+
"data": 30,
290+
"valid": true
291+
}
292+
]
243293
}
244294
]

tests/draft7/allOf.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,5 +240,55 @@
240240
"valid": false
241241
}
242242
]
243+
},
244+
{
245+
"description": "allOf combined with anyOf, oneOf",
246+
"schema": {
247+
"allOf": [ { "multipleOf": 2 } ],
248+
"anyOf": [ { "multipleOf": 3 } ],
249+
"oneOf": [ { "multipleOf": 5 } ]
250+
},
251+
"tests": [
252+
{
253+
"description": "allOf: false, anyOf: false, oneOf: false",
254+
"data": 1,
255+
"valid": false
256+
},
257+
{
258+
"description": "allOf: false, anyOf: false, oneOf: true",
259+
"data": 5,
260+
"valid": false
261+
},
262+
{
263+
"description": "allOf: false, anyOf: true, oneOf: false",
264+
"data": 3,
265+
"valid": false
266+
},
267+
{
268+
"description": "allOf: false, anyOf: true, oneOf: true",
269+
"data": 15,
270+
"valid": false
271+
},
272+
{
273+
"description": "allOf: true, anyOf: false, oneOf: false",
274+
"data": 2,
275+
"valid": false
276+
},
277+
{
278+
"description": "allOf: true, anyOf: false, oneOf: true",
279+
"data": 10,
280+
"valid": false
281+
},
282+
{
283+
"description": "allOf: true, anyOf: true, oneOf: false",
284+
"data": 6,
285+
"valid": false
286+
},
287+
{
288+
"description": "allOf: true, anyOf: true, oneOf: true",
289+
"data": 30,
290+
"valid": true
291+
}
292+
]
243293
}
244294
]

0 commit comments

Comments
 (0)