public void ShouldReturnExpectedValidationResult_WhenGivenOperands(string inputJson, string sourceJson, object expected, int calls) { // Arrange using var inputJsonDoc = JsonDocument.Parse(inputJson); using var sourceJsonDoc = JsonDocument.Parse(sourceJson); var jsonObjectValidator = new Mock <IJsonObjectValidator>(); jsonObjectValidator.Setup(validator => validator.Validate(It.IsAny <JsonElement>(), It.IsAny <JsonElement>())) .Returns(new ValidationResult(true)); var jsonArrayValidator = new JsonArrayValidator(jsonObjectValidator.Object); // Act var result = jsonArrayValidator.Validate(inputJsonDoc.RootElement, sourceJsonDoc.RootElement); // Assert result.Should().BeEquivalentTo((ValidationResult)expected); jsonObjectValidator.Verify(validator => validator.Validate(It.IsAny <JsonElement>(), It.IsAny <JsonElement>()), Times.Exactly(calls)); }
public void ArrayValidator() { var c = new JsonSchemaValidationContext("test"); { var v = new JsonArrayValidator(); v.MaxItems = 1; Assert.Null(v.Validate(c, new object[] { 0 })); Assert.NotNull(v.Validate(c, new object[] { 0, 1 })); } { var v = new JsonArrayValidator(); v.MinItems = 1; Assert.Null(v.Validate(c, new object[] { 0 })); Assert.NotNull(v.Validate(c, new object[] { })); } Assert.True(c.IsEmpty()); }