/** * When asked for a collection of compatible names, the returned collection should not include * any incompatible names. * * @see Concept#getCompatibleNames(Locale) */ @Test public void getCompatibleNames_shouldExcludeIncompatibleLanguageLocales() { Concept concept = new Concept(); concept.addName(new ConceptName("some name", new Locale("fr"))); Assert.assertEquals(0, concept.getCompatibleNames(new Locale("en")).size()); }
/** * @see Concept#getShortestName(Locale,Boolean) */ @Test public void getShortestName_shouldReturnNullIfTheirAreNoNamesInTheSpecifiedLocaleAndExactIsTrue() { Concept concept = new Concept(); concept.addName(new ConceptName("shortName123", Context.getLocale())); concept.addName(new ConceptName("shortName12", Context.getLocale())); concept.addName(new ConceptName("shortName1", Locale.US)); Assert.assertNull(concept.getShortestName(new Locale("fr"), true)); }
/** * @see Concept#hasName(String, Locale) */ @Test public void hasName_shouldReturnTrueIfLocaleIsNullButNameExists() { Concept concept = new Concept(); concept.addName(new ConceptName("Test Concept", new Locale("en"))); Assert.assertTrue(concept.hasName("Test Concept", null)); }
/** * @see Concept#getShortestName(Locale,Boolean) */ @Test public void getShortestName_shouldReturnTheShortestNameForTheConceptFromAnyLocaleIfExactIsFalse() { Concept concept = new Concept(); concept.addName(new ConceptName("shortName123", Context.getLocale())); concept.addName(new ConceptName("shortName12", Context.getLocale())); concept.addName(new ConceptName("shortName1", Locale.US)); concept.addName(new ConceptName("shortName", Locale.FRANCE)); Assert.assertEquals("shortName", concept.getShortestName(Context.getLocale(), false).getName()); }
@Test public void validate_shouldNotFailIfAnyDescriptionIsNotEnteredWhileCreatingANewConcept() { concept.addName(new ConceptName("some name", Context.getLocale())); validator.validate(concept, errors); assertThat(errors, not(hasFieldErrors("description"))); }
/** * @see Concept#getName(Locale,null) */ @Test public void getName_shouldReturnNullIfNoNamesAreFoundInLocaleGivenExactEqualsTrue() { Locale nonMatchingNameLocale = new Locale("en", "US"); Locale localeToSearch = new Locale("en"); Concept concept = new Concept(); concept.addName(new ConceptName("some name", nonMatchingNameLocale)); Assert.assertNull(concept.getName(localeToSearch, true)); }
/** * @see Concept#getName() */ @Test public void getName_shouldReturnNameAnyNameIfNoLocaleMatchGivenExactEqualsFalse() { Locale locale = new Locale("en"); Locale localeToSearch = new Locale("fr"); Concept concept = new Concept(); concept.addName(new ConceptName("Test Concept", locale)); Assert.assertNotNull((concept.getName(localeToSearch, false))); }
/** * @see Concept#getShortestName(Locale,Boolean) */ @Test public void getShortestName_shouldReturnTheShortestNameInAGivenLocaleForAConceptIfExactIsTrue() { Concept concept = new Concept(); concept.addName(new ConceptName("shortName123", Context.getLocale())); concept.addName(new ConceptName("shortName12", Context.getLocale())); concept.addName(new ConceptName("shortName1", Locale.US)); concept.addName(new ConceptName("shortName", Locale.FRANCE)); Assert.assertEquals("shortName12", concept.getShortestName(Context.getLocale(), true).getName()); }
/** * @see Concept#hasName(String, Locale) */ @Test public void hasName_shouldReturnFalseIfLocaleIsNullButNameDoesNotExist() { Concept concept = new Concept(); concept.addName(new ConceptName("Test Concept", new Locale("en"))); Assert.assertFalse(concept.hasName("Unknown concept", null)); }
/** * @see Concept#getName(Locale,false) */ @Test public void getName_shouldReturnNameWithinSameLanguageIfExactEqualsFalse() { Locale localeToSearch = new Locale("en"); Concept concept = new Concept(); concept.addName(new ConceptName("Test Concept", localeToSearch)); Assert.assertEquals("Test Concept", (concept.getName(localeToSearch, false).toString())); }
/** * @see Concept#getName() */ @Test public void getName_shouldReturnNameInBroaderLocaleIncaseNoneIsFoundInSpecificOne() { Locale locale = new Locale("en"); Locale localeToSearch = new Locale("en", "UK"); Concept concept = new Concept(); concept.addName(new ConceptName("Test Concept", locale)); Assert.assertEquals((concept.getName(locale, false).toString()), (concept.getName(localeToSearch, false).toString())); }
@Test public void validate_shouldFailIfAnyNameIsANullValue() { concept.addDescription(new ConceptDescription("some description", null)); concept.setConceptClass(new ConceptClass(1)); concept.setDatatype(new ConceptDatatype(1)); concept.addName(new ConceptName("name", Context.getLocale())); concept.addName(new ConceptName(null, Context.getLocale())); validator.validate(concept, errors); assertThat(errors, hasGlobalErrors("Concept.name.empty")); }
@Test public void validate_shouldFailIfTheConceptDatatypeIsNull() { concept.addName(new ConceptName("some name", Context.getLocale())); concept.addDescription(new ConceptDescription("some description", null)); concept.setConceptClass(new ConceptClass(1)); validator.validate(concept, errors); assertThat(errors, hasFieldErrors("datatype", "Concept.datatype.empty")); }
@Test public void validate_shouldFailIfTheConceptClassIsNull() { concept.addName(new ConceptName("some name", Context.getLocale())); concept.addDescription(new ConceptDescription("some description", null)); concept.setDatatype(new ConceptDatatype(1)); validator.validate(concept, errors); assertThat(errors, hasFieldErrors("conceptClass", "Concept.conceptClass.empty")); } @Test
@Test public void setBlankShortName_shouldVoidTheOldOne() { Concept concept = new Concept(); ConceptName cn = new ConceptName("some name", Context.getLocale()); ConceptName FullySpecName = new ConceptName("fully spec name", Context.getLocale()); concept.addName(FullySpecName); concept.setShortName(cn); concept.setShortName(new ConceptName(" ", Context.getLocale())); assertThat(concept.getShortNameInLocale(Context.getLocale()), is(nullValue())); }
/** * @see Concept#addName(ConceptName) */ @Test public void addName_shouldMarkTheFirstNameAddedAsFullySpecified() { Concept concept = new Concept(); concept.addName(new ConceptName("some name", Context.getLocale())); Assert.assertEquals("some name", concept.getFullySpecifiedName(Context.getLocale()).getName()); }
/** * @see Concept#setShortName(ConceptName) */ @Test public void setShortName_shouldSetTheConceptNameTypeOfTheSpecifiedNameToShort() { Concept concept = new Concept(); ConceptName cn = new ConceptName("some name", Context.getLocale()); ConceptName FullySpecName = new ConceptName("fully spec name", Context.getLocale()); concept.addName(FullySpecName); concept.setShortName(cn); Assert.assertEquals(ConceptNameType.SHORT, cn.getConceptNameType()); }
@Test public void validate_shouldPassIfNoneofTheConceptDescriptionsIsNull() { concept.addName(new ConceptName("some name",Context.getLocale())); concept.addDescription(new ConceptDescription("some description",null)); concept.setConceptClass(new ConceptClass()); concept.setDatatype(new ConceptDatatype()); validator.validate(concept, errors); Assert.assertFalse(errors.hasErrors()); }
/** * @see Concept#getShortestName(Locale,Boolean) */ @Test public void getShortestName_shouldReturnTheNameMarkedAsTheShortNameForTheLocaleIfItIsPresent() { Concept concept = new Concept(); concept.addName(new ConceptName("shortName123", Context.getLocale())); concept.setShortName(new ConceptName("shortName12", Context.getLocale())); concept.setShortName(new ConceptName("shortName1", Locale.US)); Assert.assertEquals("shortName1", concept.getShortestName(Locale.US, null).getName()); }
@Test public void validate_shouldPassForANewConceptWithAMapCreatedWithDeprecatedConceptMapMethods() { concept.addName(new ConceptName("test name", Context.getLocale())); concept.addDescription(new ConceptDescription("some description",null)); concept.setConceptClass(new ConceptClass()); concept.setDatatype(new ConceptDatatype()); ConceptMap map = new ConceptMap(); map.getConceptReferenceTerm().setCode("unique code"); map.getConceptReferenceTerm().setConceptSource(conceptService.getConceptSource(1)); concept.addConceptMapping(map); ValidateUtil.validate(concept); }