### Question:
FormatterStringSkipPrefixAndSuffix extends AbstractFormatterString { @Override public String apply (@Nullable final Object aValue) { String sValue = getValueAsString (aValue); if (m_sPrefix.length () > 0) sValue = StringHelper.trimStart (sValue, m_sPrefix); if (m_sSuffix.length () > 0) sValue = StringHelper.trimEnd (sValue, m_sSuffix); return sValue; } FormatterStringSkipPrefixAndSuffix(@Nonnull final String sPrefix, @Nonnull final String sSuffix); @Nonnull String getPrefix(); @Nonnull String getSuffix(); @Override String apply(@Nullable final Object aValue); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString(); @Nonnull static FormatterStringSkipPrefixAndSuffix createPrefixOnly(@Nonnull final String sPrefix); @Nonnull static FormatterStringSkipPrefixAndSuffix createSuffixOnly(@Nonnull final String sSuffix);  }### Answer:
@Test public void testAll () { final FormatterStringSkipPrefixAndSuffix fp = new FormatterStringSkipPrefixAndSuffix ("a", "o"); assertEquals ("bc", fp.apply ("abco")); assertEquals ("bc", fp.apply ("abc")); assertEquals ("bc", fp.apply ("bco")); assertEquals ("bc", fp.apply ("bc")); CommonsTestHelper.testToStringImplementation (fp); }