public void CountDescendants_SingleVertex_ReturnsZero() { var dag = new SimpleDAG(1); int numDescendants = dag.CountDescendants(0); Assert.That(numDescendants, Is.EqualTo(0)); }
public void CountDescendants_TwoVerticesCalledOnParent_ReturnsOne() { var dag = new SimpleDAG(2); dag.AddEdge(0, 1); int numDescendants = dag.CountDescendants(0); Assert.That(numDescendants, Is.EqualTo(1)); }
public void CountDescendants_ThreeVerticesCalledOnRoot_ReturnsTwo() { var dag = new SimpleDAG(3); dag.AddEdge(0, 1); dag.AddEdge(0, 2); int numDescendants = dag.CountDescendants(0); Assert.That(numDescendants, Is.EqualTo(2)); }
public void Compare_LeftOperandHasOneDescendantRightOperandHasNoDescendants_ComparesLow() { var dag = new SimpleDAG(3); dag.AddEdge(0, 1); var dagAdv = new DAGAdversary(dag); List<WrappedInt> data = dagAdv.CurrentData; int result = dagAdv.Compare(data[0], data[2]); Assert.That(result, Is.LessThan(0)); }
public void CountDescendants_DiamondDAGCalledOnApex_ReturnsThree() { var dag = new SimpleDAG(4); dag.AddEdge(0, 1); // 0 dag.AddEdge(0, 2); // / \ dag.AddEdge(1, 3); // 1 2 dag.AddEdge(2, 3); // \ / // 3 int numDescendants = dag.CountDescendants(0); Assert.That(numDescendants, Is.EqualTo(3)); }
public void Compare_ThreeOperandsFirstLessThanSecondAndSecondLessThanThird_IsTransitive() { var dag = new SimpleDAG(3); dag.AddEdge(0, 1); dag.AddEdge(1, 2); var dagAdv = new DAGAdversary(dag); List<WrappedInt> data = dagAdv.CurrentData; int thirdToFirst = dagAdv.Compare(data[2], data[0]); Assert.That(thirdToFirst, Is.GreaterThan(0)); }