Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }