### Question:
JudgmentWithEnrichmentDeleter { @Transactional public void delete(List<Long> judgmentIds) { judgmentRepository.delete(judgmentIds); deleteEnrichmentTags(judgmentIds); tagJudgmentReferenceRemover.removeReferences(judgmentIds); }  @Transactional void delete(List<Long> judgmentIds); @Transactional void delete(Judgment judgment); @Transactional void delete(Long judgmentId);  }### Answer:
@Test public void delete_ID_LIST() { Judgment ccJudgment = testPersistenceObjectFactory.createCcJudgment(); Judgment scJudgment = testPersistenceObjectFactory.createScJudgment(); Judgment ctJudgment = testPersistenceObjectFactory.createCtJudgment(); Judgment nacJudgment = testPersistenceObjectFactory.createNacJudgment(); testPersistenceObjectFactory.createEnrichmentTagsForJudgment(ccJudgment.getId()); EnrichmentTag referenceTag1 = testPersistenceObjectFactory.createReferencedCourtCasesTag(nacJudgment.getId(), ccJudgment); EnrichmentTag referenceTag2 = testPersistenceObjectFactory.createReferencedCourtCasesTag(ctJudgment.getId(), ccJudgment); judgmentWithEnrichmentDeleter.delete(Lists.newArrayList(ccJudgment.getId(), scJudgment.getId())); assertFalse(judgmentRepository.exists(ccJudgment.getId())); assertFalse(judgmentRepository.exists(scJudgment.getId())); assertEquals(0, enrichmentTagRepository.findAllByJudgmentId(ccJudgment.getId()).size()); assertEnrichmentTagValue(referenceTag1.getId(), normalizeJson("[{'caseNumber':'"+ccJudgment.getCaseNumbers().get(0)+"','judgmentIds':[]}]")); assertEnrichmentTagValue(referenceTag2.getId(), normalizeJson("[{'caseNumber':'"+ccJudgment.getCaseNumbers().get(0)+"','judgmentIds':[]}]")); }
@Test public void delete_SINGLE() { Judgment ccJudgment = testPersistenceObjectFactory.createCcJudgment(); Judgment scJudgment = testPersistenceObjectFactory.createScJudgment(); testPersistenceObjectFactory.createEnrichmentTagsForJudgment(ccJudgment.getId()); EnrichmentTag referenceTag = testPersistenceObjectFactory.createReferencedCourtCasesTag(scJudgment.getId(), ccJudgment); judgmentWithEnrichmentDeleter.delete(ccJudgment); assertFalse(judgmentRepository.exists(ccJudgment.getId())); assertEquals(0, enrichmentTagRepository.findAllByJudgmentId(ccJudgment.getId()).size()); assertEnrichmentTagValue(referenceTag.getId(), normalizeJson("[{'caseNumber':'"+ccJudgment.getCaseNumbers().get(0)+"','judgmentIds':[]}]")); }
@Test public void delete_SINGLE_BY_ID() { Judgment ccJudgment = testPersistenceObjectFactory.createCcJudgment(); Judgment scJudgment = testPersistenceObjectFactory.createScJudgment(); testPersistenceObjectFactory.createEnrichmentTagsForJudgment(ccJudgment.getId()); EnrichmentTag referenceTag = testPersistenceObjectFactory.createReferencedCourtCasesTag(scJudgment.getId(), ccJudgment); judgmentWithEnrichmentDeleter.delete(ccJudgment.getId()); assertFalse(judgmentRepository.exists(ccJudgment.getId())); assertEquals(0, enrichmentTagRepository.findAllByJudgmentId(ccJudgment.getId()).size()); assertEnrichmentTagValue(referenceTag.getId(), normalizeJson("[{'caseNumber':'"+ccJudgment.getCaseNumbers().get(0)+"','judgmentIds':[]}]")); }