/** * @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#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#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_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()); }
/** * * Builds the root column name for the concept from the conceptID * * @param of * @return */ private static String buildColumnHeader(ObsField of){ StringBuilder sb = new StringBuilder(EMPTY); Locale loc = Context.getLocale(); if (of.getQuestion() != null){ //TODO: add fieldId, fieldPart, Page??? sb.append(of.getQuestion().getShortestName(loc, false)); } else if (of.getAnswers().size() == 1){ sb.append(of.getAnswers().get(0).getConcept().getShortestName(loc, false)); } else { throw new RuntimeException("Obs Field has no conceptId, and multiple answers -- this isn't yet supported."); } return sb.toString().replaceAll("\\s", "_").replaceAll("-", "_").toUpperCase(); }