public static long copy(Reader input, Writer output) throws IOException {
        char[] buffer = new char[1024];
        long count = 0;
        for (int n = 0; (n = input.read(buffer)) >= 0; ) {
            output.write(buffer, 0, n);
            count += n;
        }
        return count;
    }
@Test
    void testCopy() {
        
        try {
            String content = "test";
            Reader input = new CharArrayReader("test".toCharArray());
            Writer output = new CharArrayWriter();
            long actualValue = MD5Util.copy(input, output);
            
            assertEquals(content.length(), actualValue);
            assertEquals(content, output.toString());
            
        } catch (IOException e) {
            System.out.println(e.toString());
        }
    }