Esempio n. 1
0
 public DotBuilder Write(DirectedGraph graph)
 {
     Begin();
     graph.Nodes.ForEach(Append);
     graph.Edges.ForEach(Append);
     End();
     return this;
 }
Esempio n. 2
0
        public void Should_support_INodeFactory_injection()
        {
            var nodeFactory = new NodeFactoryStub();
            var createCalled = false;
            nodeFactory.CreateHandler = () =>
            {
                createCalled = true;
                return new Node();
            };
            var graph = new DirectedGraph(nodeFactory);
            graph.AddNode();

            createCalled.ShouldBe(true);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            var config = XmlConfiguration.FromFile(args[0]).Read<ProjectConfiguration>();

            var loader = new StaticAssemblyLoader();
            var assemblies = new List<IAssembly>();
            var fs = new FileSystem();
            fs.GetFiles(new Pencil.IO.Path(config.BinPath), "*.*")
            .ForEach(IsAssembly, path =>
            {
                var assembly = AssemblyLoader.LoadFrom(path.ToString());
                loader.Register(assembly);
                assemblies.Add(assembly);
            });
            var digraph = new DirectedGraph();
            var dependencies = new AssemblyDependencyGraph(digraph, loader,
                IgnoreFilter.From(config.IgnoreAssemblies));
            assemblies.ForEach(dependencies.Add);

            new Pipe("invalid_path_to_dot", "-Tpng").Transfer(
                stream => new DotBuilder(stream).Write(digraph),
                stream => fs.WriteFile(new Path("output.png"), stream));
        }
 AssemblyDependencyGraph NewDependencyGraph(DirectedGraph target)
 {
     return new AssemblyDependencyGraph(target, new AssemblyLoaderStub());
 }
Esempio n. 5
0
 static string ToDot(DirectedGraph graph)
 {
     return new DotBuilder(new StringWriter()).Write(graph).Target.ToString();
 }