public virtual void FlattenTests(string testId, JsonLdTestType testType, string inputPath, string contextPath, string expectedOutputPath, JsonLdErrorCode expectedErrorCode, string baseIri, string processorMode, string expandContextPath, bool compactArrays, string rdfDirection) { var processorOptions = MakeProcessorOptions(inputPath, baseIri, processorMode, expandContextPath, compactArrays, rdfDirection); var inputJson = File.ReadAllText(inputPath); var contextJson = contextPath == null ? null : File.ReadAllText(contextPath); var inputElement = JToken.Parse(inputJson); var contextElement = contextJson == null ? null : JToken.Parse(contextJson); switch (testType) { case JsonLdTestType.PositiveEvaluationTest: var expectedOutputJson = File.ReadAllText(expectedOutputPath); var expectedOutputElement = JToken.Parse(expectedOutputJson); var actualOutputElement = JsonLdProcessor.Flatten(inputElement, contextElement, processorOptions); Assert.True(DeepEquals(actualOutputElement, expectedOutputElement), $"Error processing flatten test {Path.GetFileName(inputPath)}.\nActual output does not match expected output.\nExpected:\n{expectedOutputElement}\n\nActual:\n{actualOutputElement}"); break; case JsonLdTestType.NegativeEvaluationTest: var exception = Assert.Throws <JsonLdProcessorException>(() => JsonLdProcessor.Flatten(inputElement, contextElement, processorOptions)); Assert.Equal(expectedErrorCode, exception.ErrorCode); break; default: Assert.True(false, $"Test type {testType} has not been implemented for Flatten tests"); break; } }
public void FlattenTests(string inputPath, string contextPath, string expectedOutputPath, string baseIri, string processorMode, string expandContextPath, bool compactArrays) { var processorOptions = MakeProcessorOptions(inputPath, baseIri, processorMode, expandContextPath, compactArrays); var inputJson = File.ReadAllText(inputPath); var contextJson = contextPath == null ? null : File.ReadAllText(contextPath); var expectedOutputJson = File.ReadAllText(expectedOutputPath); var inputElement = JToken.Parse(inputJson); var contextElement = contextJson == null ? null : JToken.Parse(contextJson); var expectedOutputElement = JToken.Parse(expectedOutputJson); var actualOutputElement = JsonLdProcessor.Flatten(inputElement, contextElement, processorOptions); Assert.True(JToken.DeepEquals(actualOutputElement, expectedOutputElement), $"Error processing flatten test {Path.GetFileName(inputPath)}.\nActual output does not match expected output.\nExpected:\n{expectedOutputElement}\n\nActual:\n{actualOutputElement}"); }