DerivationTree extends NimbleTree<Symbol> { public DerivationTree(GEGrammar gram, GEChromosome gen){ super(); this.getRoot().setData(gram.getStartSymbol()); this.genny = gen; this.grammy = gram; this.genIter = genny.iterator(); this.wrapCount = 1; this.geneCnt = 0; } DerivationTree(GEGrammar gram, GEChromosome gen);  DerivationTree(DerivationTree copy); boolean buildDerivationTree(); int getWrapCount(); int getGeneCnt(); boolean derive();  }
@Test public void testDerivationTree() { System.out.println("* DerivationTreeTest: DerivationTree"); DerivationTree dt2 = new DerivationTree(geg, chrom); DerivationNode dn = new DerivationNode(); dn.setData(new Symbol("<string>", Enums.SymbolType.NTSymbol)); String msg = dt2.getRoot().toString() + " " + dn.toString(); assertEquals( msg, true, dn.toString().equals(dt2.getRoot().toString())); assertEquals(1, dt2.getWrapCount()); assertEquals(0, dt2.getGeneCnt()); }