コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: BaseNode.cs プロジェクト: praveenperuri/A19.Common
        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);
            }
        }
コード例 #4
0
        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);
        }