public void Benchmark(TestCollection collection, TestCase test, string fileName, ValidationOptions options) { if (!InstanceIsDeserializable(test.Data)) { Assert.Inconclusive("Instance not deserializable"); } options.OutputFormat = OutputFormat.Flag; var result = collection.Schema.Validate(test.Data, options); if (collection.IsOptional && result?.IsValid != test.Valid) { Assert.Inconclusive("Test optional"); } Assert.AreEqual(test.Valid, result.IsValid); }
public void Test(TestCollection collection, TestCase test, string fileName, ValidationOptions options) { Console.WriteLine(); Console.WriteLine(); Console.WriteLine(fileName); Console.WriteLine(collection.Description); Console.WriteLine(test.Description); Console.WriteLine(test.Valid ? "valid" : "invalid"); Console.WriteLine(); if (!InstanceIsDeserializable(test.Data)) { Assert.Inconclusive("Instance not deserializable"); } var result = collection.Schema.Validate(test.Data, options); var serializerOptions = new JsonSerializerOptions { WriteIndented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }; Console.WriteLine(); Console.WriteLine(JsonSerializer.Serialize(collection.Schema, serializerOptions)); Console.WriteLine(); Console.WriteLine(test.Data.ToJsonString()); Console.WriteLine(); result.ToDetailed(); Console.WriteLine(JsonSerializer.Serialize(result, serializerOptions)); if (collection.IsOptional && result.IsValid != test.Valid) { Assert.Inconclusive("Test optional"); } Assert.AreEqual(test.Valid, result.IsValid); }