### Question:
LuceneAspspRepository implements AspspRepository { @Override public List<Aspsp> findByIban(String iban, String after, int size) { String bankCode; try { bankCode = Iban.valueOf(iban).getBankCode(); } catch (Iban4jException e) { throw new IbanException("Invalid iban"); } if (bankCode == null) { throw new IbanException("Failed to extract the bank code from the iban"); } return findByBankCode(bankCode, after, size); } LuceneAspspRepository(Directory directory); Aspsp save(Aspsp aspsp); @Override void deleteById(String aspspId); @Override void deleteAll(); @Override void saveAll(List<Aspsp> aspsps); @Override Optional<Aspsp> findById(String id); @Override List<Aspsp> findByBic(String bic, String after, int size); @Override List<Aspsp> findByBankCode(String bankCode, String after, int size); @Override List<Aspsp> findByName(String name, String after, int size); @Override List<Aspsp> findAll(String after, int size); @Override List<Aspsp> findLike(Aspsp aspsp, String after, int size); @Override List<Aspsp> findByIban(String iban, String after, int size);  }### Answer:
@Test void findByIban() { String iban = "DE86999999990000001000"; String bankCode = "99999999"; Aspsp aspsp = buildAspsp("", bankCode); luceneAspspRepository.save(aspsp); List<Aspsp> actual = luceneAspspRepository.findByIban(iban, AFTER, SIZE); assertThat(actual.isEmpty()).isFalse(); assertThat(actual.size()).isEqualTo(1); assertThat(actual.get(0).getBankCode()).isEqualTo(bankCode); }