private static TableGroup ParseMetadataFromJson(string json, Uri baseUri) { var metadataParser = new JsonMetadataParser(new DefaultResolver(), baseUri ?? new Uri("http://localhost/example.json")); using var reader = new StringReader(json); return(metadataParser.Parse(reader)); }
private static TableGroup ParseMetadata(string jsonPath, Uri baseUri) { var metadataParser = new JsonMetadataParser(new DefaultResolver(), baseUri ?? new Uri("http://localhost/example.json")); using var fileStream = File.OpenText(jsonPath); return(metadataParser.Parse(fileStream)); }
public async void TestValidConversions(string tableMetadataPath, string csvFilePath, string expectedOutputGraphPath) { var metadataParser = new JsonMetadataParser(new DefaultResolver(), new Uri("http://example.org/metadata.json")); tableMetadataPath = Path.Combine("data", tableMetadataPath); csvFilePath = Path.Combine("data", csvFilePath); expectedOutputGraphPath = Path.Combine("data", expectedOutputGraphPath); TableGroup tableGroup; using (var metadataReader = File.OpenText(tableMetadataPath)) { tableGroup = metadataParser.Parse(metadataReader); } tableGroup.Should().NotBeNull(); tableGroup.Tables.Should().HaveCount(1); var tableMeta = tableGroup.Tables[0]; tableMeta.Should().NotBeNull(because: "The metadata file should parse as table metadata"); var outputGraph = new Graph(); var graphHandler = new GraphHandler(outputGraph); var resolverMock = new Mock <ITableResolver>(); resolverMock.Setup(x => x.ResolveAsync(It.IsAny <Uri>())).Returns(Task.FromResult(File.OpenRead(csvFilePath) as Stream)); var converter = new Converter(graphHandler, resolverMock.Object, ConverterMode.Minimal); await converter.ConvertAsync(tableMeta.Parent as TableGroup); converter.Errors.Count.Should().Be(0, "Expected 0 errors. Got {0}. Error listing is:\n{1}", converter.Errors.Count, string.Join("\n", converter.Errors)); var turtleParser = new TurtleParser(TurtleSyntax.W3C); var expectGraph = new Graph(); turtleParser.Load(expectGraph, expectedOutputGraphPath); var diff = new GraphDiff(); var diffReport = diff.Difference(expectGraph, outputGraph); diffReport.AreEqual.Should().BeTrue("Graphs differ"); }
private TableGroup ParseCsvMetadata(Uri baseUri, string metadata) { var parser = new JsonMetadataParser(_resolver, baseUri); return(parser.Parse(new StringReader(metadata))); }