示例#1
0
  @Test
  public void testCloneFull() {
    EdgeEntry de = new EdgeEntry(EdgeIterator.NO_EDGE, 1, 10);
    EdgeEntry de2 = de.parent = new EdgeEntry(EdgeIterator.NO_EDGE, -2, 20);
    EdgeEntry de3 = de2.parent = new EdgeEntry(EdgeIterator.NO_EDGE, 3, 30);

    EdgeEntry cloning = de.cloneFull();
    EdgeEntry tmp1 = de;
    EdgeEntry tmp2 = cloning;

    assertNotNull(tmp1);
    while (tmp1 != null) {
      assertFalse(tmp1 == tmp2);
      assertEquals(tmp1.edge, tmp2.edge);
      tmp1 = tmp1.parent;
      tmp2 = tmp2.parent;
    }
    assertNull(tmp2);
  }
示例#2
0
 public EdgeEntry cloneFull() {
   EdgeEntry de = clone();
   EdgeEntry tmpPrev = parent;
   EdgeEntry cl = de;
   while (tmpPrev != null) {
     cl.parent = tmpPrev.clone();
     cl = cl.parent;
     tmpPrev = tmpPrev.parent;
   }
   return de;
 }