### Question:
RatepayInvoiceFingerPrintPaymentProcessor implements PaymentProcessor { @Override public void processPayment(Payment payment, PaymentOperationData data) throws WirecardPaymenException { String encoded = genericEncoder.encode("uid", payment.getMerchantAccountId().getValue() + "_" + System.currentTimeMillis()); Device device = objectFactory.createDevice(); device.setFingerprint(encoded); payment.setDevice(device); }  @Override void processPayment(Payment payment, PaymentOperationData data); @Required void setObjectFactory(ObjectFactory objectFactory); @Required void setGenericEncoder(PasswordEncoder genericEncoder);  }### Answer:
@Test public void testPaymentOperation() throws WirecardPaymenException { Payment payment = new Payment(); MerchantAccountId merchantAccountId = new MerchantAccountId(); merchantAccountId.setValue(merchantValue); payment.setMerchantAccountId(merchantAccountId); ratepayInvoiceFingerPrintPaymentProcessor.processPayment(payment, data); assertEquals("Fingerprint does not match", encoded, payment.getDevice().getFingerprint()); }