1263646Sbapt[
2263646Sbapt    {
3263646Sbapt        "description": "allOf",
4263646Sbapt        "schema": {
5263646Sbapt            "allOf": [
6263646Sbapt                {
7263646Sbapt                    "properties": {
8263646Sbapt                        "bar": {"type": "integer"}
9263646Sbapt                    },
10263646Sbapt                    "required": ["bar"]
11263646Sbapt                },
12263646Sbapt                {
13263646Sbapt                    "properties": {
14263646Sbapt                        "foo": {"type": "string"}
15263646Sbapt                    },
16263646Sbapt                    "required": ["foo"]
17263646Sbapt                }
18263646Sbapt            ]
19263646Sbapt        },
20263646Sbapt        "tests": [
21263646Sbapt            {
22263646Sbapt                "description": "allOf",
23263646Sbapt                "data": {"foo": "baz", "bar": 2},
24263646Sbapt                "valid": true
25263646Sbapt            },
26263646Sbapt            {
27263646Sbapt                "description": "mismatch second",
28263646Sbapt                "data": {"foo": "baz"},
29263646Sbapt                "valid": false
30263646Sbapt            },
31263646Sbapt            {
32263646Sbapt                "description": "mismatch first",
33263646Sbapt                "data": {"bar": 2},
34263646Sbapt                "valid": false
35263646Sbapt            },
36263646Sbapt            {
37263646Sbapt                "description": "wrong type",
38263646Sbapt                "data": {"foo": "baz", "bar": "quux"},
39263646Sbapt                "valid": false
40263646Sbapt            }
41263646Sbapt        ]
42263646Sbapt    },
43263646Sbapt    {
44263646Sbapt        "description": "allOf with base schema",
45263646Sbapt        "schema": {
46263646Sbapt            "properties": {"bar": {"type": "integer"}},
47263646Sbapt            "required": ["bar"],
48263646Sbapt            "allOf" : [
49263646Sbapt                {
50263646Sbapt                    "properties": {
51263646Sbapt                        "foo": {"type": "string"}
52263646Sbapt                    },
53263646Sbapt                    "required": ["foo"]
54263646Sbapt                },
55263646Sbapt                {
56263646Sbapt                    "properties": {
57263646Sbapt                        "baz": {"type": "null"}
58263646Sbapt                    },
59263646Sbapt                    "required": ["baz"]
60263646Sbapt                }
61263646Sbapt            ]
62263646Sbapt        },
63263646Sbapt        "tests": [
64263646Sbapt            {
65263646Sbapt                "description": "valid",
66263646Sbapt                "data": {"foo": "quux", "bar": 2, "baz": null},
67263646Sbapt                "valid": true
68263646Sbapt            },
69263646Sbapt            {
70263646Sbapt                "description": "mismatch base schema",
71263646Sbapt                "data": {"foo": "quux", "baz": null},
72263646Sbapt                "valid": false
73263646Sbapt            },
74263646Sbapt            {
75263646Sbapt                "description": "mismatch first allOf",
76263646Sbapt                "data": {"bar": 2, "baz": null},
77263646Sbapt                "valid": false
78263646Sbapt            },
79263646Sbapt            {
80263646Sbapt                "description": "mismatch second allOf",
81263646Sbapt                "data": {"foo": "quux", "bar": 2},
82263646Sbapt                "valid": false
83263646Sbapt            },
84263646Sbapt            {
85263646Sbapt                "description": "mismatch both",
86263646Sbapt                "data": {"bar": 2},
87263646Sbapt                "valid": false
88263646Sbapt            }
89263646Sbapt        ]
90263646Sbapt    },
91263646Sbapt    {
92263646Sbapt        "description": "allOf simple types",
93263646Sbapt        "schema": {
94263646Sbapt            "allOf": [
95263646Sbapt                {"maximum": 30},
96263646Sbapt                {"minimum": 20}
97263646Sbapt            ]
98263646Sbapt        },
99263646Sbapt        "tests": [
100263646Sbapt            {
101263646Sbapt                "description": "valid",
102263646Sbapt                "data": 25,
103263646Sbapt                "valid": true
104263646Sbapt            },
105263646Sbapt            {
106263646Sbapt                "description": "mismatch one",
107263646Sbapt                "data": 35,
108263646Sbapt                "valid": false
109263646Sbapt            }
110263646Sbapt        ]
111263646Sbapt    }
112263646Sbapt]
113