### Question:
DocumentResourceFacadeImp extends CoreDBServiceFacadeImp<Document, Long> implements DocumentResourceFacade { @Override public int deleteUnassignedDocument(DocumentDTO document) { String hql = "DELETE d FROM aidr_predict.document d LEFT JOIN aidr_predict.task_assignment t " + "ON d.documentID = t.documentID WHERE (d.documentID = :documentID " + "AND t.documentID IS NULL AND !d.hasHumanLabels)"; if (!document.getHasHumanLabels()) { try { Query query = getCurrentSession().createSQLQuery(hql); query.setParameter("documentID", document.getDocumentID()); int result = query.executeUpdate(); return result; } catch (Exception e) { logger.error("Deletion query failed"); return 0; } } return 0; } DocumentResourceFacadeImp(); @Override void updateHasHumanLabel(DocumentDTO document); @Override List<DocumentDTO> getDocumentCollectionForNominalLabel(Criterion criterion); @Override int deleteNoLabelDocument(DocumentDTO document); @Override int deleteNoLabelDocument(List<DocumentDTO> collection); @Override int deleteUnassignedDocument(DocumentDTO document); @Override int deleteUnassignedDocument(Long documentID); @Override int deleteUnassignedDocumentCollection(List<Long> documentIDList); @Override int deleteStaleDocuments(String joinType, String joinTable, String joinColumn,
			String sortOrder, String[] orderBy, 
			final String maxTaskAge, final String scanInterval); @Override DocumentDTO addDocument(DocumentDTO doc); @Override DocumentDTO editDocument(DocumentDTO doc); @Override Integer deleteDocument(DocumentDTO doc); @Override List<DocumentDTO> findByCriteria(String columnName, Object value); @Override DocumentDTO findDocumentByID(Long id); @Override List<DocumentDTO> findDocumentsByCrisisID(Long crisisId); @Override DocumentDTO getDocumentWithAllFieldsByID(Long id); @Override boolean isDocumentExists(Long id); @Override List<DocumentDTO> getAllDocuments(); @Override List<DocumentDTO> findLabeledDocumentsByCrisisID(Long crisisId); @Override List<DocumentDTO> findUnLabeledDocumentsByCrisisID(Long crisisId); @Override Integer getDocumentCountForNominalLabelAndCrisis(Long nominalLabelID, String crisisCode); @Override List<DocumentDTO> getDocumentCollectionWithNominalLabelData(Long nominalLabelID); @Override Integer getUnlabeledDocumentsCountByCrisisID(Long crisisId); @Override boolean deleteDocuments(List<DocumentDTO> documents); @Override List<Long> getUnassignedDocumentIDsByCrisisID(Long crisisID, Integer count); @Override List<DocumentDTO> getDocumentForNominalLabelAndCrisis(List<Long> nominalLabelID, Long crisisId);  }### Answer:
@Test public void testDeleteUnassignedDocument() { documentDTO.setHasHumanLabels(false); entityManager.getTransaction().begin(); documentDTO = documentResourceFacadeImp.addDocument(documentDTO); entityManager.getTransaction().commit(); entityManager.getTransaction().begin(); int delCount = documentResourceFacadeImp .deleteUnassignedDocument(documentDTO); entityManager.getTransaction().commit(); assertEquals(1, delCount); documentDTO = null; }