### Question:
BaseCrypto implements Crypto { @Override @NonNull public byte[] encrypt(@NonNull final byte[] data) throws CryptographyException { return encrypto.encrypt(data); } protected  BaseCrypto(@NonNull final BaseBuilder builder); @Override @NonNull byte[] encrypt(@NonNull final byte[] data); @Override @NonNull byte[] decrypt(@NonNull final byte[] data);  }### Answer:
@Test public void testEncrypt() throws Exception { final Encrypto mockEncrypto = mock(Encrypto.class); final Encrypto.Builder mockEncryptoBuilder = mock(Encrypto.Builder.class); when(mockEncryptoBuilder.build()).thenReturn(mockEncrypto); final Decrypto mockDecrypto = mock(Decrypto.class); final Decrypto.Builder mockDecryptoBuilder = mock(Decrypto.Builder.class); when(mockDecryptoBuilder.build()).thenReturn(mockDecrypto); final Crypto crypto = new TestCrypto.Builder(mockEncryptoBuilder, mockDecryptoBuilder).build(); crypto.encrypt("Android".getBytes("UTF-8")); verify(mockEncrypto).encrypt("Android".getBytes("UTF-8")); verifyNoMoreInteractions(mockEncrypto); verifyZeroInteractions(mockDecrypto); }