public void ValidateReturnsInvalidOnUnknownFormat()
        {
            JsonSchemaOptions.AllowUnknownFormats = false;
            JsonSchemaOptions.OutputFormat        = SchemaValidationOutputFormat.Hierarchy;
            var schema   = new JsonSchema().Type(JsonSchemaType.String).Format(StringFormat.GetFormat("Int32"));
            var json     = (JsonValue)"32";
            var expected = new SchemaValidationResults
            {
                IsValid          = false,
                RelativeLocation = JsonPointer.Parse("#/format"),
                InstanceLocation = JsonPointer.Parse("#"),
                Keyword          = "format",
                AdditionalInfo   = new JsonObject
                {
                    ["format"]        = "Int32",
                    ["isKnownFormat"] = false
                }
            };

            try
            {
                var results = schema.Validate(json);

                results.AssertInvalid(expected);
            }
            finally
            {
                JsonSchemaOptions.AllowUnknownFormats = true;
            }
        }
        public void ValidateReturnsValidOnUnknownFormat()
        {
            JsonSchemaOptions.OutputFormat = SchemaValidationOutputFormat.Hierarchy;
            var schema   = new JsonSchema().Type(JsonSchemaType.String).Format(StringFormat.GetFormat("Int32"));
            var json     = (JsonValue)"32";
            var expected = new SchemaValidationResults
            {
                IsValid          = true,
                RelativeLocation = JsonPointer.Parse("#"),
                InstanceLocation = JsonPointer.Parse("#"),
                NestedResults    = new List <SchemaValidationResults>
                {
                    new SchemaValidationResults
                    {
                        IsValid          = true,
                        RelativeLocation = JsonPointer.Parse("#/type"),
                        InstanceLocation = JsonPointer.Parse("#"),
                        Keyword          = "type"
                    },
                    new SchemaValidationResults
                    {
                        IsValid          = true,
                        RelativeLocation = JsonPointer.Parse("#/format"),
                        InstanceLocation = JsonPointer.Parse("#"),
                        Keyword          = "format",
                        AnnotationValue  = "Int32"
                    }
                }
            };

            var results = schema.Validate(json);

            results.AssertValid(expected);
        }