### Question:
ContentReaders { @Deprecated(since = "2.0.0") public static Reader<String> stringReader(Charset charset) { return (chunks, type) -> readString(chunks, charset).toStage(); } private  ContentReaders(); static Single<byte[]> readBytes(Publisher<DataChunk> chunks); static Single<String> readString(Publisher<DataChunk> chunks, Charset charset); static Single<String> readURLEncodedString(Publisher<DataChunk> chunks,
            Charset charset); @Deprecated(since = "2.0.0") static Reader<String> stringReader(Charset charset); @Deprecated(since = "2.0.0") static Reader<String> urlEncodedStringReader(Charset charset); @Deprecated(since = "2.0.0") static Reader<byte[]> byteArrayReader(); @Deprecated(since = "2.0.0") static Reader<InputStream> inputStreamReader();  }### Answer:
@Test void testStringReader() throws Exception { Multi<DataChunk> chunks = Multi.singleton(DataChunk.create(new byte[] {(byte) 225, (byte) 226, (byte) 227})); CompletableFuture<? extends String> future = ContentReaders.stringReader(Charset.forName("cp1250")) .apply(chunks) .toCompletableFuture(); String s = future.get(10, TimeUnit.SECONDS); assertThat(s, is("áâă")); }