@Test
 public void testEncryptionBothWays() throws UnsupportedEncodingException {
   String message = "this is a top-secret message";
   String b64encryptedMessage = encrypter.encrypt(message);
   assertNotNull(b64encryptedMessage);
   String decryptedMessage = decrypter.encrypt(b64encryptedMessage);
   assertNotNull(decryptedMessage);
   assertEquals(message, decryptedMessage);
 }
 @Test
 public void testEncryptionBothWaysInALoop() throws UnsupportedEncodingException {
   for (int i = 0; i < 100; i++) {
     final String message = UUID.randomUUID().toString();
     String b64encryptedMessage = encrypter.encrypt(message);
     assertNotNull(b64encryptedMessage);
     String decryptedMessage = decrypter.encrypt(b64encryptedMessage);
     assertNotNull(decryptedMessage);
     assertEquals(message, decryptedMessage);
   }
 }
 @Test(expected = AsymmetricEncryptionException.class)
 public void testDecryptionWithGarbageFails() throws UnsupportedEncodingException {
   final String message = "this is garbage";
   decrypter.encrypt(message);
 }