@Test
public void test2() throws Exception {
   final int maxLineLen = 76 - 1;                          // the Sun encoder adds a CR/LF when a line is longer
   final int maxDataBlockLen = (maxLineLen*3) / 4;
   sun.misc.BASE64Encoder sunEncoder = new sun.misc.BASE64Encoder();
   sun.misc.BASE64Decoder sunDecoder = new sun.misc.BASE64Decoder();
   Random rnd = new Random(0x538afb92);
   for (int i=0; i<50000; i++) {
      int len = rnd.nextInt(maxDataBlockLen+1);
      byte[] b0 = new byte[len];
      rnd.nextBytes(b0);
      String e1 = new String(Base64Coder.encode(b0));
      String e2 = sunEncoder.encode(b0);
      assertEquals (e2, e1);
      byte[] b1 = Base64Coder.decode(e1);
      byte[] b2 = sunDecoder.decodeBuffer(e2);
      assertArrayEquals (b0, b1);
      assertArrayEquals (b0, b2); }}