### Question:
IRODSRegistrationOfFilesAOImpl extends IRODSGenericAO implements IRODSRegistrationOfFilesAO { @Override public boolean unregisterDataObject(final String irodsAbsolutePath) throws JargonException { log.info("unregisterButDoNotDeletePhysicalFile()"); boolean success = true; if (irodsAbsolutePath == null || irodsAbsolutePath.isEmpty()) { throw new IllegalArgumentException("null or empty absolutePath"); } log.info("irodsAbsolutePath:{}", irodsAbsolutePath); DataObjInpForUnregister dataObjInp = DataObjInpForUnregister.instanceForDelete(irodsAbsolutePath, false); try { Tag response = getIRODSProtocol().irodsFunction(dataObjInp); if (response != null) { log.warn("unexpected response from irods, expected null message - logged and ignored "); } } catch (DuplicateDataException dde) { log.warn( "duplicate data exception logged and ignored, see GForge: [#639] 809000 errors on delete operations when trash file already exists"); } catch (DataNotFoundException dnf) { success = false; } return success; } protected  IRODSRegistrationOfFilesAOImpl(final IRODSSession irodsSession, final IRODSAccount irodsAccount); @Override void registerPhysicalCollectionRecursivelyToIRODS(final String physicalPath, final String irodsAbsolutePath,
			final boolean force, final String destinationResource, final String resourceGroup); @Override void registerPhysicalDataFileToIRODS(final String physicalPath, final String irodsAbsolutePath,
			final String destinationResource, final String resourceGroup, final boolean generateChecksumInIRODS); @Override String registerPhysicalDataFileToIRODSWithVerifyLocalChecksum(final String physicalPath,
			final String irodsAbsolutePath, final String destinationResource, final String resourceGroup); String registerPhysicalDataFileToIRODSWithVerifyLocalChecksum(final String physicalPath,
			final String irodsAbsolutePath, final String destinationResource, final String resourceGroup,
			final ChecksumEncodingEnum checksumEncoding); @Override boolean unregisterDataObject(final String irodsAbsolutePath); @Override boolean unregisterCollection(final String irodsAbsolutePath, final boolean recursive); @Override void registerPhysicalDataFileToIRODSAsAReplica(final String physicalPath, final String irodsAbsolutePath,
			final String destinationResource, final String resourceGroup, final boolean generateChecksumInIRODS);  }### Answer:
@Test public final void testUnregisterDoesNotExist() throws Exception { if (!testingPropertiesHelper.isTestRegistration(testingProperties)) { return; } IRODSAccount irodsAccount = testingPropertiesHelper.buildIRODSAccountFromTestProperties(testingProperties); IRODSRegistrationOfFilesAO ao = irodsFileSystem.getIRODSAccessObjectFactory() .getIRODSRegistrationOfFilesAO(irodsAccount); String testFileName = "testUnregisterButDoNotDeletePhysicalFile.txt"; String targetIrodsCollection = testingPropertiesHelper .buildIRODSCollectionAbsolutePathFromTestProperties(testingProperties, IRODS_TEST_SUBDIR_PATH); boolean status = ao.unregisterDataObject(targetIrodsCollection + "/" + testFileName); Assert.assertFalse("should have gotten a false on this delete", status); }