### Question:
StringInputStreamProvider implements IHasInputStreamAndReader, IHasReader { @Nonnull public final StringInputStream getInputStream () { return new StringInputStream (m_sData, m_aCharset); } StringInputStreamProvider(@Nonnull final char [] aChars, @Nonnull final Charset aCharset);  StringInputStreamProvider(@Nonnull final char [] aChars,
                                    @Nonnegative final int nOfs,
                                    @Nonnegative final int nLen,
                                    @Nonnull final Charset aCharset);  StringInputStreamProvider(@Nonnull final CharSequence aData, @Nonnull final Charset aCharset);  StringInputStreamProvider(@Nonnull final String sData, @Nonnull final Charset aCharset); @Nonnull final String getData(); @Nonnull final Charset getCharset(); @Nonnull final StringInputStream getInputStream(); @Override @Nonnull final NonBlockingStringReader getReader(@Nonnull final Charset aCharset); @Nonnull final NonBlockingStringReader getReader(); final boolean isReadMultiple(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testSimpleCharset () { final String s = "Hallo Weltäöü"; InputStream aIS = new StringInputStreamProvider (s, StandardCharsets.UTF_8).getInputStream (); assertEquals (s, StreamHelper.getAllBytesAsString (aIS, StandardCharsets.UTF_8)); aIS = new StringInputStreamProvider (s.toCharArray (), StandardCharsets.UTF_8).getInputStream (); assertEquals (s, StreamHelper.getAllBytesAsString (aIS, StandardCharsets.UTF_8)); aIS = new StringInputStreamProvider (new StringBuilder (s), StandardCharsets.UTF_8).getInputStream (); assertEquals (s, StreamHelper.getAllBytesAsString (aIS, StandardCharsets.UTF_8)); }