### Question:
TextPM extends AbstractValuePM implements ITextPM { public boolean isModified() { return modified; } TextPM(String initialText);  TextPM(); String getText(); String getText(boolean convertWhitespaceStringToNull); void setText(String aText); boolean isRestrictedToOptions(); void setRestrictedToOptions(boolean restrictedToOptions); boolean isEmpty(); boolean isModified(); void reset(); void preset(); void reformat(); Options getOptions(); void setOptions(Options newOptions); @Override Comparable<?> getComparable();  }### Answer:
@Test public void isModified() { ITextPM pModel = new TextPM(); pModel.setText("hello, world!"); pModel.preset(); assertEquals("pModel.isModified()", false, pModel.isModified()); pModel.setText("hello"); assertEquals("pModel.isModified()", true, pModel.isModified()); pModel.reset(); assertEquals("pModel.isModified()", false, pModel.isModified()); }