package eu.etaxonomy.taxeditor.store.utility;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Iterator;
import java.util.LinkedHashMap;
import org.junit.Test;
LinkedHashMap<? extends IEnumTerm<?>, String> orderedTerms;
orderedTerms = AbstractUtility.orderTerms(Arrays.asList(SpecimenOrObservationType.values()));
- checkSize(orderedTerms, Arrays.asList(SpecimenOrObservationType.values()));
+ check(orderedTerms, Arrays.asList(SpecimenOrObservationType.values()));
orderedTerms = AbstractUtility.orderTerms(Arrays.asList(NomenclaturalCode.values()));
- checkSize(orderedTerms, Arrays.asList(NomenclaturalCode.values()));
+ check(orderedTerms, Arrays.asList(NomenclaturalCode.values()));
orderedTerms = AbstractUtility.orderTerms(Arrays.asList(OriginalSourceType.values()));
- checkSize(orderedTerms, Arrays.asList(OriginalSourceType.values()));
+ check(orderedTerms, Arrays.asList(OriginalSourceType.values()));
orderedTerms = AbstractUtility.orderTerms(Arrays.asList(PreferencePredicate.values()));
- checkSize(orderedTerms, Arrays.asList(PreferencePredicate.values()));
+ check(orderedTerms, Arrays.asList(PreferencePredicate.values()));
orderedTerms = AbstractUtility.orderTerms(Arrays.asList(RankClass.values()));
- checkSize(orderedTerms, Arrays.asList(RankClass.values()));
+ check(orderedTerms, Arrays.asList(RankClass.values()));
orderedTerms = AbstractUtility.orderTerms(Arrays.asList(ReferenceType.values()));
- checkSize(orderedTerms, Arrays.asList(ReferenceType.values()));
+ check(orderedTerms, Arrays.asList(ReferenceType.values()));
orderedTerms = AbstractUtility.orderTerms(Arrays.asList(TermType.values()));
- checkSize(orderedTerms, Arrays.asList(TermType.values()));
+ check(orderedTerms, Arrays.asList(TermType.values()));
}
/**
* @param orderedTerms
* @param expectedTerms
*/
- private void checkSize(LinkedHashMap<? extends IEnumTerm<?>, String> orderedTerms, Collection<? extends IEnumTerm<?>> expectedTerms) {
+ private void check(LinkedHashMap<? extends IEnumTerm<?>, String> orderedTerms, Collection<? extends IEnumTerm<?>> expectedTerms) {
+ assertFalse("Ordered term list is empty!", orderedTerms.isEmpty());
assertEquals("Some terms got lost while ordering.", expectedTerms.size(), orderedTerms.size());
+ Iterator<String> itti = orderedTerms.values().iterator();
+ String first = itti.next();
+ while (itti.hasNext()) {
+ String next = itti.next();
+ if(next.startsWith(" -")){
+ assertTrue("Sorting is not alphabetically correct.", first.compareTo(next)<0);
+ }
+ }
}
}