### Question:
Base64Coder { public static String decodeString(String s) { return new String(decode(s)); } private  Base64Coder(); static String encodeString(String s); static char[] encode(byte[] in); static char[] encode(byte[] in, int iLen); static String decodeString(String s); static byte[] decode(String s); static byte[] decode(char[] in);  }### Answer:
@Test public void testDecodeString() { String str = Base64Coder.decodeString("VGVzdGluZ091dHB1dA=="); assertEquals("TestingOutput",str); }
@Test(expected=IllegalArgumentException.class) public void shouldThrowIllegalArgumentExceptionOnNonbase64InputDuringDecode() { String str = Base64Coder.decodeString("~`!@"); }
@Test(expected=IllegalArgumentException.class) public void shouldThrowIllegalArgumentExceptionOnBadPaddingDecode() { String str = Base64Coder.decodeString("VGVzdGluZ0lucHV06"); }