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); }
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); }
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); }
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); }
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); }
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); }
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); }