public void WriteSimpleDGML() { string filenameTestOutput = "testdata/output.dgml"; string filenameComparision = "testdata/simplegraph.dgml"; try { File.Delete(filenameTestOutput); } catch { } var writer = new DGMLGraph(); writer.Nodes.Add(new DGMLGraph.Node { Id = "0", Label = "0" }); writer.Nodes.Add(new DGMLGraph.Node { Id = "1", Label = "1label" }); writer.Nodes.Add(new DGMLGraph.Node { Id = "2", Label = "2" }); writer.Nodes.Add(new DGMLGraph.Node { Id = "3", Label = "3" }); writer.Links.Add(new DGMLGraph.Link { Source = "0", Target = "1" }); writer.Links.Add(new DGMLGraph.Link { Source = "1", Target = "0", Label = "backlink" }); writer.Links.Add(new DGMLGraph.Link { Source = "1", Target = "1", Label = "loop" }); writer.Links.Add(new DGMLGraph.Link { Source = "2", Target = "3", }); writer.Links.Add(new DGMLGraph.Link { Source = "4", Target = "3", }); writer.Links.Add(new DGMLGraph.Link { Source = "2", Target = "0", }); writer.Serialize(filenameTestOutput); string expectedFile = File.ReadAllText(filenameComparision); string writtenFile = File.ReadAllText(filenameTestOutput); Assert.AreEqual(expectedFile, writtenFile); // For a clean environment! File.Delete(filenameTestOutput); }
private void RemoveAbsolutePathsFromDGML(DGMLGraph dgml, IEnumerable <string> includeDirectories) { foreach (var item in dgml.Nodes) { item.Id = IncludeFormatter.FormatPath(item.Id, FormatterOptionsPage.PathMode.Shortest, includeDirectories); item.Label = IncludeFormatter.FormatPath(item.Label, FormatterOptionsPage.PathMode.Shortest, includeDirectories); } foreach (var link in dgml.Links) { link.Source = IncludeFormatter.FormatPath(link.Source, FormatterOptionsPage.PathMode.Shortest, includeDirectories); link.Target = IncludeFormatter.FormatPath(link.Target, FormatterOptionsPage.PathMode.Shortest, includeDirectories); } }
private DGMLGraph RemoveAbsolutePathsFromDGML(DGMLGraph dgml, IEnumerable <string> includeDirectories) { var dgml2 = new DGMLGraph(); foreach (var item in dgml.Nodes) { DGMLGraph.Node newNode = item; newNode.Id = IncludeFormatter.FormatPath(item.Id, FormatterOptionsPage.PathMode.Shortest_AvoidUpSteps, includeDirectories); dgml2.Nodes.Add(newNode); } foreach (var link in dgml.Links) { DGMLGraph.Link newLink = link; newLink.Source = IncludeFormatter.FormatPath(newLink.Source, FormatterOptionsPage.PathMode.Shortest_AvoidUpSteps, includeDirectories); newLink.Target = IncludeFormatter.FormatPath(newLink.Target, FormatterOptionsPage.PathMode.Shortest_AvoidUpSteps, includeDirectories); dgml2.Links.Add(newLink); } return(dgml2); }