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);
     }
 }
Esempio n. 3
0
        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);
        }