### Question:
MosaicRepositoryOkHttpImpl extends AbstractRepositoryOkHttpImpl implements MosaicRepository { @Override public Observable<List<MosaicInfo>> getMosaics(List<MosaicId> ids) { MosaicIds mosaicIds = new MosaicIds(); mosaicIds.mosaicIds(ids.stream().map(MosaicId::getIdAsHex).collect(Collectors.toList())); Callable<List<MosaicInfoDTO>> callback = () -> getClient().getMosaics(mosaicIds); return exceptionHandling( networkTypeObservable.flatMap( networkType -> call(callback) .flatMapIterable(item -> item) .map(mosaicInfoDTO -> createMosaicInfo(mosaicInfoDTO, networkType)) .toList() .toObservable())); } MosaicRepositoryOkHttpImpl(
      ApiClient apiClient, Observable<NetworkType> networkTypeObservable); MosaicRoutesApi getClient(); @Override Observable<MosaicInfo> getMosaic(MosaicId mosaicId); @Override Observable<List<MosaicInfo>> getMosaics(List<MosaicId> ids); @Override Observable<Page<MosaicInfo>> search(MosaicSearchCriteria criteria);  }### Answer:
@Test public void shouldGetMosaics() throws Exception { MosaicId mosaicId = MapperUtils.toMosaicId("481110499AAA"); Address ownerAddress = Account.generateNewAccount(networkType).getAddress(); MosaicDTO mosaicDto = new MosaicDTO(); MosaicInfoDTO mosaicInfoDto = new MosaicInfoDTO(); mosaicDto.setOwnerAddress(ownerAddress.encoded()); mosaicDto.setId("481110499AAA"); mosaicDto.setRevision(123L); mosaicDto.setFlags(5); mosaicDto.setDivisibility(6); mosaicDto.setDuration(BigInteger.valueOf(7)); mosaicInfoDto.setMosaic(mosaicDto); mockRemoteCall(Collections.singletonList(mosaicInfoDto)); List<MosaicInfo> resolvedList = repository.getMosaics(Collections.singletonList(mosaicId)).toFuture().get(); Assertions.assertEquals(1, resolvedList.size()); MosaicInfo mosaicInfo = resolvedList.get(0); Assertions.assertEquals(mosaicId, mosaicInfo.getMosaicId()); Assertions.assertEquals(mosaicDto.getRevision(), mosaicInfo.getRevision()); Assertions.assertEquals( mosaicDto.getOwnerAddress(), mosaicInfo.getOwnerAddress().encoded(networkType)); Assertions.assertFalse(mosaicInfo.isTransferable()); Assertions.assertEquals(6, mosaicInfo.getDivisibility()); Assertions.assertEquals(BigInteger.valueOf(7), mosaicInfo.getDuration()); }