private Concept createMockConcept(String uuid) { Concept concept = mock(Concept.class); when(concept.getUuid()).thenReturn(uuid != null ? uuid : "some uuid"); when(concept.getName()).thenReturn(new ConceptName()); return concept; }
/** * 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)); }
@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#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_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#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()); }
/** * @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()); }
/** * @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()); }
/** * @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 ConceptNameSaveHandler#handle(ConceptName,User,Date,String) */ @Test public void handle_shouldNotReplaceTagsWithoutIdsThatAreNotInTheDatabase() { ConceptNameSaveHandler handler = new ConceptNameSaveHandler(); ConceptName name = new ConceptName(); name.addTag(new ConceptNameTag("Some randome tag name", "")); // this tag has a null id handler.handle(name, null, null, null); ConceptNameTag newTag = name.getTags().iterator().next(); Assert.assertNull(newTag.getConceptNameTagId()); }
/** * @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())); }
/** * @see Concept#setShortName(ConceptName) */ @Test public void setShortName_shouldAddTheNameToTheListOfNamesIfItNotAmongThemBefore() { Concept concept = createConcept(1, Context.getLocale()); int expectedNumberOfNames = concept.getNames().size() + 1; concept.setShortName(new ConceptName("some name", Context.getLocale())); Assert.assertEquals(expectedNumberOfNames, concept.getNames().size()); }
@Test public void validate_shouldFailIfAnyNameIsAnEmptyString() { 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("", Context.getLocale())); validator.validate(concept, errors); assertThat(errors, hasGlobalErrors("Concept.name.empty")); }
/** * @see Concept#setFullySpecifiedName(ConceptName) */ @Test public void setFullySpecifiedName_shouldSetTheConceptNameTypeOfTheSpecifiedNameToFullySpecified() { Concept concept = new Concept(); ConceptName cn = new ConceptName("some name", Context.getLocale()); concept.setFullySpecifiedName(cn); Assert.assertEquals(ConceptNameType.FULLY_SPECIFIED, cn.getConceptNameType()); }
@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")); }
/** * @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#setFullySpecifiedName(ConceptName) */ @Test public void setFullySpecifiedName_shouldConvertThePreviousFullySpecifiedNameIfAnyToASynonym() { Concept concept = createConcept(1, Context.getLocale()); ConceptName oldFullySpecifiedName = concept.getFullySpecifiedName(Context.getLocale()); //sanity check Assert.assertEquals(ConceptNameType.FULLY_SPECIFIED, oldFullySpecifiedName.getConceptNameType()); concept.setFullySpecifiedName(new ConceptName("some name", Context.getLocale())); Assert.assertEquals(null, oldFullySpecifiedName.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()); }