### Question:
JargonZipServiceImpl extends AbstractJargonService implements JargonZipService { @Override public long computeBundleSizeInBytes(final List<String> irodsAbsolutePaths) throws ZipServiceException { log.info("computeBundleSizeInBytes()"); if (irodsAbsolutePaths == null) { throw new IllegalArgumentException("null irodsAbsolutePaths"); } if (irodsAbsolutePaths.isEmpty()) { return 0; } CollectionAndDataObjectListAndSearchAO collectionAndDataObjectAO; try { collectionAndDataObjectAO = getIrodsAccessObjectFactory() .getCollectionAndDataObjectListAndSearchAO(getIrodsAccount()); } catch (JargonException e) { log.error("JargonException getting CollectionAndDataObjectListAndSearchAO", e); throw new ZipServiceException("Jargon exception getting CollectionAndDataObjectListAndSearchAO", e); } long totalCount = 0; for (String path : irodsAbsolutePaths) { log.info("getting count for path:{}", path); try { totalCount += collectionAndDataObjectAO.totalDataObjectSizesUnderPath(path); } catch (JargonException e) { log.error("JargonException counting under paths", e); throw new ZipServiceException("Jargon exception getting CollectionAndDataObjectListAndSearchAO", e); } } log.info("total count:{}", totalCount); return totalCount; } JargonZipServiceImpl();  JargonZipServiceImpl(final ZipServiceConfiguration zipServiceConfiguration,
			final IRODSAccessObjectFactory irodsAccessObjectFactory, final IRODSAccount irodsAccount); @Override ZipServiceConfiguration getZipServiceConfiguration(); @Override void setZipServiceConfiguration(final ZipServiceConfiguration zipServiceConfiguration); @Override BundleStreamWrapper obtainBundleAsInputStreamWithAdditionalMetadataGivenPaths(
			final List<String> irodsAbsolutePaths); @Override InputStream obtainBundleAsInputStreamGivenPaths(final List<String> irodsAbsolutePaths); @Override IRODSFile obtainBundleAsIrodsFileGivenPaths(final List<String> irodsAbsolutePaths); @Override long computeBundleSizeInBytes(final List<String> irodsAbsolutePaths); static final Logger log; }### Answer:
@Test public void testComputeBundleSizeInBytes() throws Exception { String rootCollection = "testComputeBundleSizeInBytes"; String localCollectionAbsolutePath = scratchFileUtils .createAndReturnAbsoluteScratchPath(IRODS_TEST_SUBDIR_PATH + '/' + rootCollection); String irodsCollectionRootAbsolutePath = testingPropertiesHelper .buildIRODSCollectionAbsolutePathFromTestProperties(testingProperties, IRODS_TEST_SUBDIR_PATH); FileGenerator.generateManyFilesAndCollectionsInParentCollectionByAbsolutePath(localCollectionAbsolutePath, "testPutCollectionWithTwoFiles", 1, 2, 2, "testFile", ".txt", 3, 2, 20, 200); IRODSAccount irodsAccount = testingPropertiesHelper.buildIRODSAccountFromTestProperties(testingProperties); IRODSFileFactory irodsFileFactory = irodsFileSystem.getIRODSFileFactory(irodsAccount); IRODSFile destFile = irodsFileFactory.instanceIRODSFile(irodsCollectionRootAbsolutePath); DataTransferOperations dataTransferOperationsAO = irodsFileSystem.getIRODSAccessObjectFactory() .getDataTransferOperations(irodsAccount); File localFile = new File(localCollectionAbsolutePath); dataTransferOperationsAO.putOperation(localFile, destFile, null, null); ZipServiceConfiguration zipServiceConfiguration = new ZipServiceConfiguration(); JargonZipService jargonZipService = new JargonZipServiceImpl(zipServiceConfiguration, irodsFileSystem.getIRODSAccessObjectFactory(), irodsAccount); List<String> paths = new ArrayList<String>(); paths.add(irodsCollectionRootAbsolutePath + "/" + rootCollection); long actual = jargonZipService.computeBundleSizeInBytes(paths); Assert.assertTrue("no file count found", actual > 0); }