package org.gbif.checklistbank.service.mybatis;
import org.gbif.api.model.checklistbank.VernacularName;
import org.gbif.api.model.common.paging.Pageable;
import org.gbif.api.model.common.paging.PagingRequest;
import org.gbif.api.service.checklistbank.VernacularNameService;
import org.gbif.api.vocabulary.Language;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
public class VernacularNameServiceMyBatisIT extends MyBatisServiceITBase<VernacularNameService> {
public VernacularNameServiceMyBatisIT() {
super(VernacularNameService.class);
}
@Test
public void testListByChecklistUsage() {
// TEST VERNACULAR
List<VernacularName> squirrels = service.listByUsage(100000025, null).getResults();
assertEquals(2, squirrels.size());
assertEquals("Eurasian Red Squirrel", squirrels.get(0).getVernacularName());
assertEquals(Language.ENGLISH, squirrels.get(0).getLanguage());
assertEquals("Europäisches Eichhörnchen", squirrels.get(1).getVernacularName());
assertEquals(Language.GERMAN, squirrels.get(1).getLanguage());
// TEST PAGING
Pageable page = new PagingRequest(0, 1);
VernacularName v1 = service.listByUsage(100000025, page).getResults().get(0);
page = new PagingRequest(1, 1);
VernacularName v2 = service.listByUsage(100000025, page).getResults().get(0);
assertEquals(v1, squirrels.get(0));
assertEquals(v2, squirrels.get(1));
}
@Test
public void testListByRange() {
// TEST VERNACULAR
Map<Integer, List<VernacularName>> records = ((VernacularNameServiceMyBatis) service).listRange(1, 100000025);
assertEquals(3, records.size());
List<VernacularName> vernacularNames = records.get(100000025);
assertEquals(2, vernacularNames.size());
for (VernacularName v : vernacularNames) {
assertNull(v.getSourceTaxonKey());
assertNotNull(v.getVernacularName());
}
}
}