public virtual void JsonLdFramingTests(string testId, JsonLdTestType testType, string inputPath, string framePath, string expectedOutputPath, JsonLdErrorCode expectErrorCode, string processingMode, bool pruneBlankNodeIdentifiers, bool?omitGraph, bool ordered) { var inputJson = File.ReadAllText(inputPath); var frameJson = File.ReadAllText(framePath); var jsonLdProcessingMode = "json-ld-1.0".Equals(processingMode) ? JsonLdProcessingMode.JsonLd10 : JsonLdProcessingMode.JsonLd11FrameExpansion; var options = new JsonLdProcessorOptions { ProcessingMode = jsonLdProcessingMode, PruneBlankNodeIdentifiers = pruneBlankNodeIdentifiers, Ordered = ordered, }; if (omitGraph.HasValue) { options.OmitGraph = omitGraph.Value; } var inputElement = JToken.Parse(inputJson); var frameElement = JToken.Parse(frameJson); switch (testType) { case JsonLdTestType.PositiveEvaluationTest: var expectedOutputJson = File.ReadAllText(expectedOutputPath); var expectedOutputElement = JToken.Parse(expectedOutputJson); var actualOutput = JsonLdProcessor.Frame(inputElement, frameElement, options); Assert.True(DeepEquals(expectedOutputElement, actualOutput), $"Test failed for input {Path.GetFileName(inputPath)}\nExpected:\n{expectedOutputElement}\nActual:\n{actualOutput}"); break; case JsonLdTestType.NegativeEvaluationTest: var exception = Assert.ThrowsAny <JsonLdProcessorException>(() => JsonLdProcessor.Frame(inputElement, frameElement, options)); Assert.Equal(expectErrorCode, exception.ErrorCode); break; case JsonLdTestType.PositiveSyntaxTest: JsonLdProcessor.Frame(inputElement, frameElement, options); break; case JsonLdTestType.NegativeSyntaxTest: Assert.ThrowsAny <JsonLdProcessorException>(() => JsonLdProcessor.Frame(inputElement, frameElement, options)); break; } }
public void JsonLdFramingTests(string inputPath, string framePath, string expectedOutputPath, bool pruneBlankNodeIdentifiers) { var inputJson = File.ReadAllText(inputPath); var frameJson = File.ReadAllText(framePath); var expectedOutputJson = File.ReadAllText(expectedOutputPath); var options = new JsonLdProcessorOptions { PruneBlankNodeIdentifiers = pruneBlankNodeIdentifiers }; var inputElement = JToken.Parse(inputJson); var frameElement = JToken.Parse(frameJson); var expectedOutputElement = JToken.Parse(expectedOutputJson); var actualOutput = JsonLdProcessor.Frame(inputElement, frameElement, options); Assert.True(JToken.DeepEquals(expectedOutputElement, actualOutput), $"Test failed for input {Path.GetFileName(inputPath)}\nExpected:\n{expectedOutputElement}\nActual:\n{actualOutput}"); }