[
	{
		"description": "invalid type for default",
		"schema": {
			"properties": {
				"foo": {
					"type": "integer",
					"default": []
				}
			}
		},
		"tests": [
			{
				"description": "valid when property is specified",
				"data": {
					"foo": 13
				},
				"valid": true
			},
			{
				"description": "still valid when the invalid default is used",
				"data": {},
				"valid": true
			}
		]
	},
	{
		"description": "invalid string value for default",
		"schema": {
			"properties": {
				"bar": {
					"type": "string",
					"minLength": 4,
					"default": "bad"
				}
			}
		},
		"tests": [
			{
				"description": "valid when property is specified",
				"data": {
					"bar": "good"
				},
				"valid": true
			},
			{
				"description": "still valid when the invalid default is used",
				"data": {},
				"valid": true
			}
		]
	},
	{
		"description": "the default keyword does not do anything if the property is missing",
		"schema": {
			"type": "object",
			"properties": {
				"alpha": {
					"type": "number",
					"maximum": 3,
					"default": 5
				}
			}
		},
		"tests": [
			{
				"description": "an explicit property value is checked against maximum (passing)",
				"data": {
					"alpha": 1
				},
				"valid": true
			},
			{
				"description": "an explicit property value is checked against maximum (failing)",
				"data": {
					"alpha": 5
				},
				"valid": false
			},
			{
				"description": "missing properties are not filled in with the default",
				"data": {},
				"valid": true
			}
		]
	}
]
