public void FindDependencyTest() { var graph = new UniformMatrixGraph(4); graph.MarkEdge(0, 1); graph.MarkEdge(1, 2); graph.MarkEdge(1, 3); graph.MarkEdge(2, 3); var deps = graph.FindDependencies(); Assert.IsNotEmpty(deps); }
public void FindDependencyTestComplex() { var graph = new UniformMatrixGraph(6); graph.MarkEdge(0, 5); graph.MarkEdge(1, 2); graph.MarkEdge(3, 0); graph.MarkEdge(4, 2); var deps = graph.FindDependencies(); Assert.IsNotEmpty(deps); }
public void BuildDependencyGraph(UniformMatrixGraph graph) { foreach (var node in this.manyToOnes) { graph.MarkEdge(this.nodeId, node.NodeId); node.BuildDependencyGraph(graph); } foreach (var node in manyToMany) { graph.MarkEdge(node.NodeId, this.nodeId); node.BuildDependencyGraph(graph); } }
public void TestCreate() { var dsl = CreateDiffDsl(); var result = dsl.Build(); var length = result.Item2; var root = result.Item1; Assert.AreEqual(3, length); var graph = new UniformMatrixGraph(length); root.BuildDependencyGraph(graph); var deps = graph.FindDependencies(); Assert.IsNotEmpty(deps); var rootValue = new RootNode { Field1 = 1, Field2 = 2, Id = 3, One = new OneToOneNode { Field3 = 3, Field4 = "4", Field6 = new List <ManyToManyNode>(0) } }; var rootValueDb = new RootNodeDb { Field1 = 1, Field2 = 3, Id = 3, One = new OneToOneNodeDb { Field3 = 4, Field4 = "3", Field6 = new List <ManyToManyNodeDb>(0) } }; var dict = new Dictionary <int, IUpdateRecords <Guid> >(2); root.Update( rootValue, rootValueDb, dict); Assert.IsNotEmpty(dict); }