public void ValidateReturnsValidOnValidPatternProperty() { var schema = new JsonSchema04 { Type = JsonSchemaType.Object, Properties = new Dictionary <string, IJsonSchema> { ["test1"] = new JsonSchema04 { Type = JsonSchemaType.String } }, AdditionalProperties = AdditionalProperties.False, PatternProperties = new Dictionary <Regex, IJsonSchema> { { new Regex("[0-9]"), new JsonSchema04 { Type = JsonSchemaType.Integer } } } }; var json = new JsonObject { { "test1", "value" }, { "test2", 2 } }; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsValidOnValidAdditionalProperty() { var schema = new JsonSchema04 { Type = JsonSchemaType.Object, Properties = new Dictionary <string, IJsonSchema> { ["test1"] = new JsonSchema04 { Type = JsonSchemaType.String } }, AdditionalProperties = new AdditionalProperties { Definition = new JsonSchema04 { Type = JsonSchemaType.String } } }; var json = new JsonObject { { "test1", "value" }, { "test", "value" } }; var results = schema.Validate(json); results.AssertValid(); }
public void Draft04_ValidateReturnsValidOnMoreThanExclusiveMinimum() { var schema = new JsonSchema04 { Type = JsonSchemaType.Integer, Minimum = 5, ExclusiveMinimum = true }; var json = (JsonValue)10; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsValidOnValidIpv4Format() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, Format = StringFormat.Ipv4 }; var json = (JsonValue)"255.255.1.1"; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsValidOnValidHostNameFormat() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, Format = StringFormat.HostName }; var json = (JsonValue)"me.you.com"; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsErrorOnPatternNonMatch() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, Pattern = "^[0-9_]+$" }; var json = (JsonValue)"test123"; var results = schema.Validate(json); results.AssertInvalid(); }
public void ValidateReturnsErrorOnInvalidUriFormat() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, Format = StringFormat.Uri }; var json = (JsonValue)"test123^%"; var results = schema.Validate(json); results.AssertInvalid(); }
public void ValidateReturnsValidOnValidUriFormat() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, Format = StringFormat.Uri }; var json = (JsonValue)"http://en.wikipedia.org/wiki/ISO_8601"; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsValidOnLengthLessThanMaxLength() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, MaxLength = 5 }; var json = (JsonValue)"test"; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsErrorOnTooLong() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, MaxLength = 5 }; var json = (JsonValue)"test123"; var results = schema.Validate(json); results.AssertInvalid(); }
public void ValidateReturnsValidOnValidEmailFormat2() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, Format = StringFormat.Email }; var json = (JsonValue)"*****@*****.**"; var results = schema.Validate(json); results.AssertValid(); }
public void Draft04_ValidateReturnsErrorOnEqualsExclusiveMinimum() { var schema = new JsonSchema04 { Type = JsonSchemaType.Integer, Minimum = 5, ExclusiveMinimum = true }; var json = (JsonValue)5; var results = schema.Validate(json); results.AssertInvalid(); }
public void ValidateReturnsValidOnValidDateTimeFormat() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, Format = StringFormat.DateTime }; var json = (JsonValue)"2016-01-25T10:32:02Z"; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsErrorOnNonString() { var schema = new JsonSchema04 { Type = JsonSchemaType.String }; var json = new JsonObject(); var results = schema.Validate(json); results.AssertInvalid(); }
public void Draft04_ValidateReturnsValidOnLessThanExclusiveMaximum() { var schema = new JsonSchema04 { Type = JsonSchemaType.Number, Maximum = 5, ExclusiveMaximum = true }; var json = (JsonValue)3; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsValidOnPatternMatch() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, Pattern = "^[0-9_]+$" }; var json = (JsonValue)"81681_1868"; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsValidOnValidIpv6Format() { var schema = new JsonSchema04 { Type = JsonSchemaType.String, Format = StringFormat.Ipv6 }; var json = (JsonValue)"2001:0db8:85a3:0042:1000:8a2e:0370:7334"; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsValidOnNotTooFewProperties() { var schema = new JsonSchema04 { Type = JsonSchemaType.Object, MinProperties = 1 }; var json = new JsonObject { { "test1", "value" }, { "test2", 2 } }; var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsInvalidOnTooFewProperties() { var schema = new JsonSchema04 { Type = JsonSchemaType.Object, MinProperties = 5 }; var json = new JsonObject { { "test1", "value" }, { "test2", 2 } }; var results = schema.Validate(json); Assert.AreEqual(1, results.Errors.Count()); Assert.AreEqual(false, results.Valid); }
public void ValidateReturnsValidOnOptionalPropertyMissing() { var schema = new JsonSchema04 { Type = JsonSchemaType.Object, Properties = new Dictionary <string, IJsonSchema> { ["test1"] = new JsonSchema04 { Type = JsonSchemaType.String } } }; var json = new JsonObject(); var results = schema.Validate(json); results.AssertValid(); }
public void ValidateReturnsErrorOnInvalidProperty() { var schema = new JsonSchema04 { Type = JsonSchemaType.Object, Properties = new Dictionary <string, IJsonSchema> { ["test1"] = new JsonSchema04 { Type = JsonSchemaType.String } } }; var json = new JsonObject { { "test1", 1 } }; var results = schema.Validate(json); results.AssertInvalid(); }
public void ValidateReturnsErrorOnRequiredPropertyMissing() { var schema = new JsonSchema04 { Type = JsonSchemaType.Object, Properties = new Dictionary <string, IJsonSchema> { ["test1"] = new JsonSchema04 { Type = JsonSchemaType.String } }, Required = new List <string> { "test1" } }; var json = new JsonObject(); var results = schema.Validate(json); results.AssertInvalid(); }