/** * Add the given DrugReferenceMap object to this drug's list of drug reference mappings. If there is * already a corresponding DrugReferenceMap object for this concept, this one will not be added. * * @param drugReferenceMap * @since 1.10 * * @should set drug as the drug to which a mapping is being added * * @should should not add duplicate drug reference maps */ public void addDrugReferenceMap(DrugReferenceMap drugReferenceMap) { if (drugReferenceMap != null && !getDrugReferenceMaps().contains(drugReferenceMap)) { drugReferenceMap.setDrug(this); if (drugReferenceMap.getConceptMapType() == null) { drugReferenceMap.setConceptMapType(Context.getConceptService().getDefaultConceptMapType()); } getDrugReferenceMaps().add(drugReferenceMap); } } }
/** * @see Drug#addDrugReferenceMap(DrugReferenceMap) */ @Test public void addDrugReferenceMap_shouldSetDrugAsTheDrugToWhichAMappingIsBeingAdded() { Drug drug1 = new Drug(); drug1.setUuid(UUID_1); Drug drug2 = new Drug(); drug2.setUuid(UUID_2); DrugReferenceMap map = new DrugReferenceMap(); map.setDrug(drug2); drug1.addDrugReferenceMap(map); Assert.assertEquals(drug1, drug1.getDrugReferenceMaps().iterator().next().getDrug()); }
} else { Drug drug = (Drug) obj; Set<DrugReferenceMap> drugReferenceMaps = drug.getDrugReferenceMaps(); Set<String> mappedTermUuids = new HashSet<>(); int index = 0;
/** * @see Drug#addDrugReferenceMap(DrugReferenceMap) */ @Test public void addDrugReferenceMap_shouldShouldNotAddDuplicateDrugReferenceMaps() { Drug drug = new Drug(); DrugReferenceMap map1 = new DrugReferenceMap(); map1.setUuid(UUID_1); DrugReferenceMap map2 = new DrugReferenceMap(); map2.setUuid(UUID_2); DrugReferenceMap map2Duplicate = new DrugReferenceMap(); map2Duplicate.setUuid(UUID_2); drug.addDrugReferenceMap(map1); drug.addDrugReferenceMap(map2); drug.addDrugReferenceMap(map2Duplicate); Assert.assertEquals(2, drug.getDrugReferenceMaps().size()); } }
/** * @see DrugValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldRejectDrugMultipleMappingsToTheSameTerm() { Drug drug = new Drug(); DrugReferenceMap term1 = new DrugReferenceMap(conceptService.getConceptReferenceTerm(1), conceptService .getConceptMapType(1)); DrugReferenceMap term2 = new DrugReferenceMap(conceptService.getConceptReferenceTerm(1), conceptService .getConceptMapType(2)); drug.addDrugReferenceMap(term1); drug.addDrugReferenceMap(term2); Assert.assertEquals(2, drug.getDrugReferenceMaps().size()); Errors errors = new BindException(drug, "drug"); new DrugValidator().validate(drug, errors); Assert.assertTrue(errors.hasFieldErrors("drugReferenceMaps[1].conceptReferenceTerm")); }