TerminalCharacter { public boolean equalsIgnoreCharacter(TerminalCharacter that) { return style.equals(that.style) && color.equals(that.color); } TerminalCharacter(char c);  TerminalCharacter(char c, TerminalTextStyle style);  TerminalCharacter(char c, TerminalColor color);  TerminalCharacter(char c, TerminalColor color,
                             CharacterType type);  TerminalCharacter(char c, TerminalColor color,
                             TerminalTextStyle style); char getCharacter(); void setCharacter(char c); TerminalTextStyle getStyle(); String toString(TerminalCharacter prev); @Override String toString(); boolean equalsIgnoreCharacter(TerminalCharacter that); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void testEqualsIgnoreCharacter() { TerminalCharacter c1 = new TerminalCharacter('a', new TerminalColor(Color.RED, Color.BLUE)); TerminalCharacter c2 = new TerminalCharacter('b', new TerminalColor(Color.RED, Color.BLUE)); assertTrue(c1.equalsIgnoreCharacter(c2)); }