### Question:
Rule { @Override public String toString() { return lhs.toString() + " -> " + rhs.toString(); } protected  Rule();  Rule(Sequence lhs, AbstractSequence rhs); Sequence getLhs(); AbstractSequence getRhs(); int getNumber(); Set<Symbol> getTerminals(); @Override String toString(); String toDotString(); int dotLength(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testString() { assertEquals("a b -> a ", ab_a.toString()); assertEquals("a b -> c d ", ab_cd.toString()); }