Exemple #1
0
 public void ChDag2NodeCreators_NodeCreatorsCountReturns2()
 {
     Aleph.NodeCreator       nodeCreator1 = new Aleph.NodeCreator();
     Aleph.RootNode <object> rootNode1    = new Aleph.RootNode <object>(nodeCreator1, null);
     Aleph.NodeCreator       nodeCreator2 = new Aleph.NodeCreator();
     Aleph.RootNode <object> rootNode2    = new Aleph.RootNode <object>(nodeCreator2, null);
     Aleph.chDAG <object>    aDAG         = new Aleph.chDAG <object>();
     Assert.Empty(aDAG.NodeCreators);
     aDAG.Add(rootNode1);
     aDAG.Add(rootNode2);
     Assert.Equal(2, aDAG.NodeCreators.Count);
 }
Exemple #2
0
        public void ChDag3NodeCreatorsRemoveNode_NodeCreatorsCountReturns2()
        {
            Aleph.NodeCreator       nodeCreator1 = new Aleph.NodeCreator();
            Aleph.RootNode <object> rootNode1    = new Aleph.RootNode <object>(nodeCreator1, null);
            Aleph.NodeCreator       nodeCreator2 = new Aleph.NodeCreator();
            Aleph.RootNode <object> rootNode2    = new Aleph.RootNode <object>(nodeCreator2, null);
            Aleph.NodeCreator       nodeCreator3 = new Aleph.NodeCreator();
            Aleph.RootNode <object> rootNode3    = new Aleph.RootNode <object>(nodeCreator3, null);

            Aleph.chDAG <object> aDAG = new Aleph.chDAG <object>();
            aDAG.Add(rootNode1);
            aDAG.Add(rootNode2);
            aDAG.Add(rootNode3);
            Assert.Equal(3, aDAG.NodeCreators.Count);
            aDAG.Remove(rootNode2);
            Assert.Equal(2, aDAG.NodeCreators.Count);
        }
Exemple #3
0
 public void ChDag1NodeCreator_SingleNodeCreator()
 {
     Aleph.NodeCreator       nodeCreator1 = new Aleph.NodeCreator();
     Aleph.RootNode <object> rootNode1    = new Aleph.RootNode <object>(nodeCreator1, null);
     Aleph.chDAG <object>    aDAG         = new Aleph.chDAG <object>();
     Assert.Empty(aDAG.NodeCreators);
     aDAG.Add(rootNode1);
     Assert.Single(aDAG.NodeCreators);
 }
Exemple #4
0
        public void ChDagWith1Creators_MinimumNumberOfYoungParentsReturns1()
        {
            Aleph.NodeCreator       nodeCreator1 = new Aleph.NodeCreator();
            Aleph.RootNode <object> rootNode1    = new Aleph.RootNode <object>(nodeCreator1, null);

            Aleph.GraphNode <object> child = new Aleph.GraphNode <object>(nodeCreator1, "child", rootNode1);

            var aDAG = new Aleph.chDAG <object>();

            aDAG.Add(child);
            Assert.Single(aDAG.NodeCreators);
            Assert.Equal(1, aDAG.MinimumNumberOfYoungParents);
        }
Exemple #5
0
        public void ChDag3NodeCreatorsWithChildren_NodeCreatorsCountReturns3()
        {
            Aleph.NodeCreator nodeCreator1 = new Aleph.NodeCreator();
            Aleph.NodeCreator nodeCreator2 = new Aleph.NodeCreator();
            Aleph.NodeCreator nodeCreator3 = new Aleph.NodeCreator();

            Aleph.RootNode <object> rootNode1 = new Aleph.RootNode <object>(nodeCreator1, null);
            Aleph.RootNode <object> rootNode3 = new Aleph.RootNode <object>(nodeCreator3, null);

            Aleph.GraphNode <object> childNode  = new Aleph.GraphNode <object>(nodeCreator2, null, rootNode1);
            Aleph.GraphNode <object> grandChild = new Aleph.GraphNode <object>(nodeCreator1, null, childNode, rootNode3);

            Aleph.chDAG <object> aDAG = new Aleph.chDAG <object>();
            aDAG.Add(grandChild);
            Assert.Equal(3, aDAG.NodeCreators.Count);
        }
Exemple #6
0
        public void DagWith4Creators_MaxFaultyCreatorsReturns1()
        {
            Aleph.NodeCreator nodeCreator1 = new Aleph.NodeCreator();
            Aleph.NodeCreator nodeCreator2 = new Aleph.NodeCreator();
            Aleph.NodeCreator nodeCreator3 = new Aleph.NodeCreator();
            Aleph.NodeCreator nodeCreator4 = new Aleph.NodeCreator();

            Aleph.RootNode <object> rootNode1 = new Aleph.RootNode <object>(nodeCreator1, null);
            Aleph.RootNode <object> rootNode2 = new Aleph.RootNode <object>(nodeCreator2, null);

            Aleph.GraphNode <object> childNode1     = new Aleph.GraphNode <object>(nodeCreator3, null, rootNode1);
            Aleph.GraphNode <object> grandChildNode = new Aleph.GraphNode <object>(nodeCreator4, null, new List <Aleph.IGraphNode <object> > {
                childNode1, rootNode2
            });

            Aleph.chDAG <object> aDAG = new Aleph.chDAG <object>();
            aDAG.Add(grandChildNode);
            Assert.Equal(4, aDAG.NodeCreators.Count);
            Assert.Equal(1, aDAG.MaxTolerableFaultyNodeCreators);
        }
Exemple #7
0
        public void ChDagWith4Creators_MinimumNumberOfYoungParentsReturns3()
        {
            Aleph.NodeCreator nodeCreator1 = new Aleph.NodeCreator();
            Aleph.NodeCreator nodeCreator2 = new Aleph.NodeCreator();
            Aleph.NodeCreator nodeCreator3 = new Aleph.NodeCreator();
            Aleph.NodeCreator nodeCreator4 = new Aleph.NodeCreator();

            Aleph.RootNode <object> rootNode1 = new Aleph.RootNode <object>(nodeCreator1, null);
            Aleph.RootNode <object> rootNode2 = new Aleph.RootNode <object>(nodeCreator2, null);
            Aleph.RootNode <object> rootNode3 = new Aleph.RootNode <object>(nodeCreator3, null);
            //Aleph.RootNode<object> rootNode4 = new Aleph.RootNode<object>(nodeCreator4, null);

            Aleph.GraphNode <object> child = new Aleph.GraphNode <object>(nodeCreator4, "child", new List <Aleph.IGraphNode <object> > {
                rootNode1, rootNode2, rootNode3
            });

            var aDAG = new Aleph.chDAG <object>();

            aDAG.Add(child);
            Assert.Equal(4, aDAG.NodeCreators.Count);
            Assert.Equal(3, aDAG.MinimumNumberOfYoungParents);
        }