private static void WriteToDot(IDependencyGraph subgraph, string dotFileName) { using (var streamWriter = new StreamWriter(dotFileName)) { streamWriter.WriteLine("digraph graphname {"); var dependencyNodes = subgraph.DependencyNodes.ToList(); Dictionary <DependencyNode, int> map = dependencyNodes.Select((n, i) => Tuple.Create(n, i)).ToDictionary(t => t.Item1, t => t.Item2); for (int index = 0; index < dependencyNodes.Count; index++) { var dependencyNode = dependencyNodes[index]; string shape = dependencyNode.TerminalOutputValues.Any() ? "doubleoctagon" : "ellipse"; streamWriter.WriteLine(string.Format("{0} [label=\"{1}\", shape=\"{2}\"];", index, string.Join(",", dependencyNode.OutputValues.Select(v => v.ValueName).Distinct()), shape)); } for (int index = 0; index < dependencyNodes.Count; index++) { var dependencyNode = dependencyNodes[index]; foreach (var inputNode in dependencyNode.InputNodes) { var labels = inputNode.OutputValues.Intersect(dependencyNode.InputValues).Select(v => v.ValueName).Distinct(); var edgelabel = string.Join(",", labels); streamWriter.WriteLine(string.Format("{0} -> {1} [label=\"{2}\"];", map[inputNode], index, edgelabel)); } } streamWriter.WriteLine("}"); } }
public DeployComponent(IDependencyGraph<BranchInfo> branchGraph, string backupBranch, string activeBranch, IEnumerable<DatabaseInfo> databasesInfos) : base(null, "Done!") { var branchesByName = branchGraph.GetPath().ToDictionary(x => x.Name); mBranchGraph = branchGraph; mBackupBranch = branchesByName[backupBranch]; mActiveBranch = branchesByName[activeBranch]; mDatabasesInfos = databasesInfos.ToArray(); }
internal DirectReferencesModuleFilter( IDependencyGraph dependencyGraph, IEqualityComparer <ModuleReference> moduleComparer) { ArgumentChecker.NotNull(dependencyGraph, () => dependencyGraph); ArgumentChecker.NotNull(moduleComparer, () => moduleComparer); _dependencyGraph = dependencyGraph; _moduleComparer = moduleComparer; }
internal DirectReferencesModuleFilter( IDependencyGraph dependencyGraph, IEqualityComparer<ModuleReference> moduleComparer) { ArgumentChecker.NotNull(dependencyGraph, () => dependencyGraph); ArgumentChecker.NotNull(moduleComparer, () => moduleComparer); _dependencyGraph = dependencyGraph; _moduleComparer = moduleComparer; }
private static void CheckCompleteGraph(IDependencyGraph wholeGraph) { foreach (DependencyNode node in wholeGraph.DependencyNodes) { if (!node.TerminalOutputValues.Any()) { Assert.True(wholeGraph.DependencyNodes.Any(n => n.InputNodes.Contains(node))); } } }
public DeployComponent(IDependencyGraph <BranchInfo> branchGraph, string backupBranch, string activeBranch, IEnumerable <DatabaseInfo> databasesInfos) : base(null, "Done!") { var branchesByName = branchGraph.GetPath().ToDictionary(x => x.Name); mBranchGraph = branchGraph; mBackupBranch = branchesByName[backupBranch]; mActiveBranch = branchesByName[activeBranch]; mDatabasesInfos = databasesInfos.ToArray(); }
private static void CheckSaneGraph(string viewCalculationConfiguration, IDependencyGraph subgraph) { Assert.NotNull(subgraph); Assert.Equal(viewCalculationConfiguration, subgraph.CalculationConfigurationName); Assert.NotEmpty(subgraph.DependencyNodes); foreach (var node in subgraph.DependencyNodes) { Assert.NotEmpty(node.OutputValues); Assert.NotNull(node.Function); Assert.NotNull(node.Function.UniqueId); Assert.NotNull(node.Function.Parameters); Assert.NotNull(node.Function.Function); Assert.NotNull(node.Function.Function.TargetType); Assert.NotNull(node.Function.Function.FunctionDefinition); Assert.NotEmpty(node.Function.Function.FunctionDefinition.UniqueId); Assert.NotEmpty(node.Function.Function.FunctionDefinition.ShortName); } WriteToDot(subgraph, string.Format("{0}.{1}.dot", viewCalculationConfiguration, TestUtils.ExecutingTestName)); }
public void SetUp() { _dependencyGraph = new DependencyGraph <string>(); }
public void Dispose() { _dependencyGraph = null; }
public IRegistrationProcessingSyntax CreateToProcess(IDependencyGraph graph) { return new RegistrationProcessingSyntax(graph); }
private static void WriteToDot(IDependencyGraph subgraph, string dotFileName) { using (var streamWriter = new StreamWriter(dotFileName)) { streamWriter.WriteLine("digraph graphname {"); var dependencyNodes = subgraph.DependencyNodes.ToList(); Dictionary<DependencyNode, int> map = dependencyNodes.Select((n, i) => Tuple.Create(n, i)).ToDictionary(t => t.Item1, t => t.Item2); for (int index = 0; index < dependencyNodes.Count; index++) { var dependencyNode = dependencyNodes[index]; string shape = dependencyNode.TerminalOutputValues.Any() ? "doubleoctagon" : "ellipse"; streamWriter.WriteLine(string.Format("{0} [label=\"{1}\", shape=\"{2}\"];", index, string.Join(",", dependencyNode.OutputValues.Select(v => v.ValueName).Distinct()), shape)); } for (int index = 0; index < dependencyNodes.Count; index++) { var dependencyNode = dependencyNodes[index]; foreach (var inputNode in dependencyNode.InputNodes) { var labels = inputNode.OutputValues.Intersect(dependencyNode.InputValues).Select(v => v.ValueName).Distinct(); var edgelabel = string.Join(",", labels); streamWriter.WriteLine(string.Format("{0} -> {1} [label=\"{2}\"];", map[inputNode], index, edgelabel)); } } streamWriter.WriteLine("}"); } }
private static void CheckCompleteGraph(IDependencyGraph wholeGraph) { foreach (DependencyNode node in wholeGraph.DependencyNodes) { if (! node.TerminalOutputValues.Any()) { Assert.True(wholeGraph.DependencyNodes.Any(n => n.InputNodes.Contains(node))); } } }
public RegistrationProcessingSyntax(IDependencyGraph graph) { this.graph = graph; }