package org.gbif.checklistbank.service.mybatis; import org.gbif.api.model.checklistbank.DatasetMetrics; import org.gbif.api.vocabulary.Kingdom; import org.gbif.api.vocabulary.Language; import org.gbif.api.vocabulary.Rank; import org.gbif.checklistbank.service.DatasetAnalysisService; import java.util.Date; import java.util.UUID; import org.gbif.checklistbank.service.mybatis.postgres.ClbDbTestRule; import org.junit.Test; import static org.junit.Assert.assertEquals; public class DatasetAnalysisServiceMyBatisIT extends MyBatisServiceITBase<DatasetAnalysisService> { public DatasetAnalysisServiceMyBatisIT() { super(DatasetAnalysisService.class); } @Test public void testAnalyse() { final Date downloaded = new Date(); DatasetMetrics d = service.analyse(ClbDbTestRule.SQUIRRELS_DATASET_KEY, downloaded); System.out.println(d); assertEquals(ClbDbTestRule.SQUIRRELS_DATASET_KEY, d.getDatasetKey()); assertEquals(downloaded, d.getDownloaded()); assertEquals(44, d.getUsagesCount()); assertEquals(16, d.getSynonymsCount()); assertEquals(44, d.getDistinctNamesCount()); assertEquals(2, d.getNubMatchingCount()); assertEquals(4, d.getNubCoveragePct()); assertEquals(0, d.getColCoveragePct()); assertEquals(0, d.getColMatchingCount()); assertEquals(1, d.getCountByKingdom().size()); // there are more animal records in this dataset, but only 2 are mapped to the nub! assertEquals(2, d.getCountByKingdom(Kingdom.ANIMALIA)); assertEquals(0, d.getCountByKingdom(Kingdom.PLANTAE)); assertEquals(10, d.getCountByRank(Rank.SUBSPECIES)); assertEquals(3, d.getCountByRank(Rank.SPECIES)); assertEquals(2, d.getCountByRank(Rank.GENUS)); assertEquals(1, d.getCountByRank(Rank.PHYLUM)); assertEquals(4, d.getCountNamesByLanguage(Language.ENGLISH)); assertEquals(2, d.getCountNamesByLanguage(Language.GERMAN)); } }