package org.gbif.checklistbank.service.mybatis.mapper; import org.apache.ibatis.session.ResultContext; import org.apache.ibatis.session.ResultHandler; import org.gbif.api.model.Constants; import org.gbif.checklistbank.model.ParsedNameUsage; import org.gbif.checklistbank.service.mybatis.postgres.ClbDbTestRule; import org.junit.Test; import java.util.UUID; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; public class NameUsageMapperWithDataIT extends MapperITBase<NameUsageMapper> { public NameUsageMapperWithDataIT() { super(NameUsageMapper.class, ClbDbTestRule.squirrels()); } class NonEmptyCounter implements ResultHandler<ParsedNameUsage> { public int counter; @Override public void handleResult(ResultContext<? extends ParsedNameUsage> resultContext) { if (resultContext.getResultObject() != null) { counter++; ParsedNameUsage u = resultContext.getResultObject(); assertNotNull(u.getKey()); assertNotNull(u.getScientificName()); assertNotNull(u.getRank()); assertNotNull(u.getDatasetKey()); assertNotNull(u.getParsedName()); assertNotNull(u.getParsedName().getScientificName()); System.out.println(u.getParsedName()); } } } @Test public void testProcessDataset() { NonEmptyCounter proc = new NonEmptyCounter(); mapper.processDataset(UUID.randomUUID(), proc); assertEquals(0, proc.counter); mapper.processDataset(Constants.NUB_DATASET_KEY, proc); assertEquals(2, proc.counter); mapper.processDataset(ClbDbTestRule.SQUIRRELS_DATASET_KEY, proc); // we did not reset counter, so it adds up assertEquals(46, proc.counter); } }