### Question:
TransactionStatusRepositoryOkHttpImpl extends AbstractRepositoryOkHttpImpl implements TransactionStatusRepository { @Override public Observable<List<TransactionStatus>> getTransactionStatuses( List<String> transactionHashes) { Callable<List<TransactionStatusDTO>> callback = () -> getClient().getTransactionStatuses(new TransactionHashes().hashes(transactionHashes)); return exceptionHandling( call(callback) .flatMapIterable(item -> item) .map(this::toTransactionStatus) .toList() .toObservable()); } TransactionStatusRepositoryOkHttpImpl(ApiClient apiClient); @Override Observable<TransactionStatus> getTransactionStatus(String transactionHash); @Override Observable<List<TransactionStatus>> getTransactionStatuses(
      List<String> transactionHashes); TransactionStatusRoutesApi getClient();  }### Answer:
@Test public void shouldGetTransactionStatuses() throws Exception { TransactionStatusDTO transactionStatusDTO = new TransactionStatusDTO(); transactionStatusDTO.setGroup(TransactionGroupEnum.FAILED); transactionStatusDTO.setDeadline(BigInteger.valueOf(5)); transactionStatusDTO.setHeight(BigInteger.valueOf(6)); transactionStatusDTO.setCode(TransactionStatusEnum.FAILURE_ACCOUNTLINK_LINK_ALREADY_EXISTS); transactionStatusDTO.setHash("someHash"); mockRemoteCall(Collections.singletonList(transactionStatusDTO)); TransactionStatus transaction = repository .getTransactionStatuses(Collections.singletonList(transactionStatusDTO.getHash())) .toFuture() .get() .get(0); Assertions.assertNotNull(transaction); Assertions.assertEquals(transactionStatusDTO.getHash(), transaction.getHash()); Assertions.assertEquals(5L, transaction.getDeadline().getInstant()); Assertions.assertEquals(BigInteger.valueOf(6L), transaction.getHeight()); Assertions.assertEquals("Failure_AccountLink_Link_Already_Exists", transaction.getCode()); Assertions.assertEquals( transaction.getGroup().getValue(), transactionStatusDTO.getGroup().getValue()); }