package org.gbif.occurrence.parsing.xml;
import org.gbif.occurrence.model.IdentifierRecord;
import org.gbif.occurrence.model.RawOccurrenceRecord;
import org.gbif.occurrence.model.TypificationRecord;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class Dwc10RecordParserTest extends ParserTestCase {
@Test
public void testParseBasicFields() {
String fileName = getClass().getResource("/responses/dwc10/dwc10_all_simple_fields.gz").getFile();
RawOccurrenceRecord ror = setupRor(fileName).get(0);
// System.out.println(ror.debugDump());
// common to all schemas
assertEquals("BR", ror.getInstitutionCode());
assertEquals("MYCO", ror.getCollectionCode());
assertEquals("S", ror.getBasisOfRecord());
// common to dwc
assertEquals("Amaurochaete", ror.getScientificName());
assertEquals("Protista", ror.getKingdom());
assertEquals("Myxomycota", ror.getPhylum());
assertEquals("Myxomycetes", ror.getKlass());
assertEquals("STEMONITALES", ror.getOrder());
assertEquals("STEMONITIDACEAE", ror.getFamily());
assertEquals("Amaurochaete", ror.getGenus());
assertEquals("Mannenga-Bremekamp N.", ror.getCollectorName());
assertEquals("Wetering; Beukenburg - Beukenlaan", ror.getLocality());
assertEquals("NL", ror.getCountry());
// dwc 1.0 only
assertEquals("1", ror.getCatalogueNumber());
assertEquals("52.755", ror.getLatitude());
assertEquals("5.9963", ror.getLongitude());
assertEquals("1958-8-15", ror.getOccurrenceDate());
}
@Test
public void testParseIdentifiers() {
String fileName = getClass().getResource("/responses/dwc10/dwc10_idtype.gz").getFile();
RawOccurrenceRecord ror = setupRor(fileName).get(0);
// showIdentifiers(ror);
assertEquals(1, ror.getIdentifierRecords().size());
IdentifierRecord idRec = ror.getIdentifierRecords().get(0);
assertEquals(3, idRec.getIdentifierType().intValue());
assertEquals("2873", idRec.getIdentifier());
}
@Test
public void testParseTypification() {
String fileName = getClass().getResource("/responses/dwc10/dwc10_typification.gz").getFile();
RawOccurrenceRecord ror = setupRor(fileName).get(0);
// showTypifications(ror);
assertEquals(1, ror.getTypificationRecords().size());
TypificationRecord typRecord = ror.getTypificationRecords().iterator().next();
assertEquals("Isotype", typRecord.getTypeStatus());
}
}