public virtual void K3Degree() { int ord = 3; int[][] k3 = CompleteGraphOfSize(ord); var pg = new JumboPathGraph(k3, Identity(3), ord); // note - vertices are only added to either vertex (lowest rank) Assert.AreEqual(2, pg.Degree(0)); Assert.AreEqual(1, pg.Degree(1)); Assert.AreEqual(0, pg.Degree(2)); pg.Remove(0, new List <int[]>(0)); Assert.AreEqual(0, pg.Degree(0)); Assert.AreEqual(2, pg.Degree(1)); Assert.AreEqual(0, pg.Degree(2)); pg.Remove(1, new List <int[]>(0)); Assert.AreEqual(0, pg.Degree(0)); Assert.AreEqual(0, pg.Degree(1)); Assert.AreEqual(0, pg.Degree(2)); }
public virtual void K8() { int ord = 8; int[][] k8 = CompleteGraphOfSize(ord); var pg = new JumboPathGraph(k8, Identity(8), ord); List <int[]> cycles = new List <int[]>(); for (int v = 0; v < ord; v++) { pg.Remove(v, cycles); } Assert.AreEqual(8018, cycles.Count); }
public virtual void RepeatRemoval() { int ord = 3; int[][] k3 = CompleteGraphOfSize(ord); var pg = new JumboPathGraph(k3, Identity(3), ord); List <int[]> cycles = new List <int[]>(); pg.Remove(0, cycles); Assert.AreEqual(0, cycles.Count); pg.Remove(0, cycles); Assert.AreEqual(0, cycles.Count); pg.Remove(1, cycles); Assert.AreEqual(1, cycles.Count); pg.Remove(1, cycles); Assert.AreEqual(1, cycles.Count); pg.Remove(2, cycles); Assert.AreEqual(1, cycles.Count); pg.Remove(2, cycles); Assert.AreEqual(1, cycles.Count); }