Package org.gedcomx.conversion.gedcom.dq55

Source Code of org.gedcomx.conversion.gedcom.dq55.SourceReferenceMapperTest

/**
* Copyright 2012 Intellectual Reserve, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gedcomx.conversion.gedcom.dq55;

import org.folg.gedcom.model.Family;
import org.folg.gedcom.model.Gedcom;
import org.folg.gedcom.parser.ModelParser;
import org.gedcomx.conclusion.Fact;
import org.gedcomx.conclusion.Person;
import org.gedcomx.conclusion.Relationship;
import org.gedcomx.source.SourceDescription;
import org.gedcomx.source.SourceReference;
import org.gedcomx.types.ConfidenceLevel;
import org.gedcomx.types.RelationshipType;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.io.File;
import java.net.URL;
import java.text.DateFormat;

import static org.testng.Assert.*;


public class SourceReferenceMapperTest {
  private DateFormat dateFormatter = DateFormat.getDateTimeInstance();
  private Gedcom gedcom;

  @BeforeClass
  public void setUp() throws Exception {
    SequentialIdentifierGenerator.reset();
    URL gedcomUrl = this.getClass().getClassLoader().getResource("Case007-SourceCitations.ged");
    File gedcomFile = new File(gedcomUrl.toURI());
    ModelParser modelParser = new ModelParser();

    gedcom = modelParser.parseGedcom(gedcomFile);
    assertNotNull(gedcom);
    assertNotNull(gedcom.getPeople());
    assertEquals(gedcom.getPeople().size(), 5);
    assertNotNull(gedcom.getFamilies());
    assertEquals(gedcom.getFamilies().size(), 2);
    assertNotNull(gedcom.getSources());
    assertEquals(gedcom.getSources().size(), 1);
    assertNotNull(gedcom.getRepositories());
    assertEquals(gedcom.getRepositories().size(), 1);
  }

  @Test
  public void testToSourcesAndSourceReferences1() throws Exception {
    Family dqFamily = gedcom.getFamilies().get(0);
    TestConversionResult result = new TestConversionResult();
    GedcomMapper gedcomMapper = new GedcomMapper();

    FamilyMapper mapper = new FamilyMapper();

    String generatedId = null;

    mapper.toRelationship(dqFamily, null, result);
    assertNotNull(result.getRelationships());
    assertEquals(result.getRelationships().size(), 3);
    for (Relationship gedxRelationship : result.getRelationships()) {
      if (gedxRelationship.getKnownType() == RelationshipType.Couple) {
        assertNotNull(gedxRelationship.getFacts());
        assertEquals(gedxRelationship.getFacts().size(), 1);
        Fact gedxFact = gedxRelationship.getFacts().get(0);
        assertNotNull(gedxFact);
        assertNotNull(gedxFact.getSources());
        assertEquals(gedxFact.getSources().size(), 1);
        SourceReference gedxSourceReference = gedxFact.getSources().get(0);
        assertNotNull(gedxSourceReference);
        assertNotNull(gedxSourceReference.getDescriptionRef());
        assertTrue(gedxSourceReference.getDescriptionRef().toString().startsWith("#"));
        generatedId = gedxSourceReference.getDescriptionRef().toString().substring(1);
        assertNotNull(generatedId, "1");
        assertNull(gedxSourceReference.getAttribution());
        assertNull(gedxSourceReference.getExtensionElements());
      }
    }
    assertNotNull(result.getSourceDescriptions());
    assertEquals(result.getSourceDescriptions().size(), 1);
    SourceDescription gedxSourceDescription = result.getSourceDescriptions().get(0);
    assertNotNull(gedxSourceDescription);
    assertEquals(gedxSourceDescription.getId(), generatedId);
    assertNotNull(gedxSourceDescription.getCitation());
    assertEquals(gedxSourceDescription.getCitation().getValue(), "31 Jan 1820, FHL INTL Film 1226427, Geboorten, 1820, No. 143");
    assertEquals(gedxSourceDescription.getCitation().getCitationTemplate().getResource().toURI().toString(), "gedcom5:citation-template");
    assertNotNull(gedxSourceDescription.getCitation().getFields());
    assertEquals(gedxSourceDescription.getCitation().getFields().size(), 2);
    assertEquals(gedxSourceDescription.getCitation().getFields().get(0).getName().toURI().toString(), "gedcom5:citation-template/date");
    assertEquals(gedxSourceDescription.getCitation().getFields().get(0).getValue(), "31 Jan 1820");
    assertEquals(gedxSourceDescription.getCitation().getFields().get(1).getName().toURI().toString(), "gedcom5:citation-template/page");
    assertEquals(gedxSourceDescription.getCitation().getFields().get(1).getValue(), "FHL INTL Film 1226427, Geboorten, 1820, No. 143");
    assertNull(gedxSourceDescription.getAbout());
    assertNull(gedxSourceDescription.getMediator());
    assertNull(gedxSourceDescription.getSources());
    assertEquals(gedxSourceDescription.getComponentOf().getDescriptionRef().toURI().toString(), "#SOUR1");
    assertNull(gedxSourceDescription.getTitle());
    assertNull(gedxSourceDescription.getAttribution());
    assertNull(gedxSourceDescription.getNotes());
    assertNull(gedxSourceDescription.getExtensionElements());
  }

  @Test
  public void testToSourcesAndSourceReferences2() throws Exception {
    Family dqFamily = gedcom.getFamilies().get(1);
    TestConversionResult result = new TestConversionResult();
    GedcomMapper gedcomMapper = new GedcomMapper();

    FamilyMapper mapper = new FamilyMapper();

    String generatedId = null;

    mapper.toRelationship(dqFamily, null, result);
    assertNotNull(result.getRelationships());
    assertEquals(result.getRelationships().size(), 3);
    for (Relationship gedxRelationship : result.getRelationships()) {
      if (gedxRelationship.getKnownType() == RelationshipType.Couple) {
        assertNotNull(gedxRelationship.getFacts());
        assertEquals(gedxRelationship.getFacts().size(), 1);
        Fact gedxFact = gedxRelationship.getFacts().get(0);
        assertNotNull(gedxFact);
        assertNotNull(gedxFact.getSources());
        assertEquals(gedxFact.getSources().size(), 1);
        SourceReference gedxSourceReference = gedxFact.getSources().get(0);
        assertNotNull(gedxSourceReference);
        assertNotNull(gedxSourceReference.getDescriptionRef());
        assertTrue(gedxSourceReference.getDescriptionRef().toString().startsWith("#"));
        generatedId = gedxSourceReference.getDescriptionRef().toString().substring(1);
        assertEquals(generatedId, "SOUR-2");
        assertNull(gedxSourceReference.getAttribution());
      }
    }
    assertNotNull(result.getSourceDescriptions());
    assertEquals(result.getSourceDescriptions().size(), 1);
    SourceDescription gedxSourceDescription = result.getSourceDescriptions().get(0);
    assertNotNull(gedxSourceDescription);
    assertEquals(gedxSourceDescription.getId(), generatedId);
    assertNotNull(gedxSourceDescription.getCitation());
    assertEquals(gedxSourceDescription.getCitation().getValue(), "\"Germany, Births and Baptisms, 1558-1898,\" index, FamilySearch (https://familysearch.org/pal:/MM9.1.1/VHQB-CHW :accessed 22 May 2012), Joannes Baptista Louwart.");
    assertNull(gedxSourceDescription.getCitation().getCitationTemplate());
    assertNotNull(gedxSourceDescription.getCitation().getFields());
    assertEquals(gedxSourceDescription.getCitation().getFields().size(), 0);
    assertNull(gedxSourceDescription.getAbout());
    assertNull(gedxSourceDescription.getMediator());
    assertNull(gedxSourceDescription.getSources());
    assertNull(gedxSourceDescription.getComponentOf());
    assertNull(gedxSourceDescription.getTitles());
    assertNull(gedxSourceDescription.getAttribution());
    assertNull(gedxSourceDescription.getNotes());
    assertNull(gedxSourceDescription.getExtensionElements());
  }

  @Test
  public void testToSourcesAndSourceReferences3() throws Exception {
    org.folg.gedcom.model.Person dqPerson = gedcom.getPeople().get(0);
    TestConversionResult result = new TestConversionResult();
    GedcomMapper gedcomMapper = new GedcomMapper();

    PersonMapper mapper = new PersonMapper();

    String generatedId = null;

    mapper.toPerson(dqPerson, result);
    assertNotNull(result.getPersons());
    assertEquals(result.getPersons().size(), 1);

    Person gedxPerson = result.getPersons().get(0);
    assertNotNull(gedxPerson.getFacts());
    assertEquals(gedxPerson.getFacts().size(), 1);
    Fact gedxFact = gedxPerson.getFacts().get(0);
    assertNotNull(gedxFact);
    assertNotNull(gedxFact.getSources());
    assertEquals(gedxFact.getSources().size(), 1);
    SourceReference gedxSourceReference = gedxFact.getSources().get(0);
    assertNotNull(gedxSourceReference);
    assertNotNull(gedxSourceReference.getDescriptionRef());
    assertTrue(gedxSourceReference.getDescriptionRef().toString().startsWith("#"));
    generatedId = gedxSourceReference.getDescriptionRef().toString().substring(1);
    assertNotNull(generatedId, "3");
    assertNull(gedxSourceReference.getAttribution());
    assertNull(gedxSourceReference.getExtensionElements());

    assertNotNull(result.getSourceDescriptions());
    assertEquals(result.getSourceDescriptions().size(), 1);
    SourceDescription gedxSourceDescription = result.getSourceDescriptions().get(0);
    assertNotNull(gedxSourceDescription);
    assertEquals(gedxSourceDescription.getId(), generatedId);
    assertNotNull(gedxSourceDescription.getCitation());
    assertEquals(gedxSourceDescription.getCitation().getValue(), "__SOUR_JoannesBaptistaLouwaert__");
    assertNull(gedxSourceDescription.getCitation().getCitationTemplate());
    assertNotNull(gedxSourceDescription.getCitation().getFields());
    assertEquals(gedxSourceDescription.getCitation().getFields().size(), 0);
    assertNull(gedxSourceDescription.getAbout());
    assertNull(gedxSourceDescription.getMediator());
    assertNull(gedxSourceDescription.getSources());
    assertNull(gedxSourceDescription.getComponentOf());
    assertNull(gedxSourceDescription.getTitles());
    assertNull(gedxSourceDescription.getAttribution());
    assertNull(gedxSourceDescription.getNotes());
    assertNull(gedxSourceDescription.getExtensionElements());
  }

  @Test
  public void testToSourcesAndSourceReferences4() throws Exception {
    org.folg.gedcom.model.Person dqPerson = gedcom.getPeople().get(1);
    TestConversionResult result = new TestConversionResult();
    GedcomMapper gedcomMapper = new GedcomMapper();

    PersonMapper mapper = new PersonMapper();

    String generatedId = null;

    mapper.toPerson(dqPerson, result);
    assertNotNull(result.getPersons());
    assertEquals(result.getPersons().size(), 1);

    Person gedxPerson = result.getPersons().get(0);
    assertNotNull(gedxPerson.getFacts());
    assertEquals(gedxPerson.getFacts().size(), 1);
    Fact gedxFact = gedxPerson.getFacts().get(0);
    assertNotNull(gedxFact);
    assertNotNull(gedxFact.getSources());
    assertEquals(gedxFact.getSources().size(), 1);
    SourceReference gedxSourceReference = gedxFact.getSources().get(0);
    assertNotNull(gedxSourceReference);
    assertNotNull(gedxSourceReference.getDescriptionRef());
    assertTrue(gedxSourceReference.getDescriptionRef().toString().startsWith("#"));
    generatedId = gedxSourceReference.getDescriptionRef().toString().substring(1);
    assertNotNull(generatedId, "4");
    assertNull(gedxSourceReference.getAttribution());
    assertNull(gedxSourceReference.getExtensionElements());

    assertNotNull(result.getSourceDescriptions());
    assertEquals(result.getSourceDescriptions().size(), 0);
  }

  @Test
  public void testToSourcesAndSourceReferences5() throws Exception {
    org.folg.gedcom.model.Person dqPerson = gedcom.getPeople().get(2);
    TestConversionResult result = new TestConversionResult();
    GedcomMapper gedcomMapper = new GedcomMapper();

    PersonMapper mapper = new PersonMapper();

    String generatedId = null;

    mapper.toPerson(dqPerson, result);
    assertNotNull(result.getPersons());
    assertEquals(result.getPersons().size(), 1);

    Person gedxPerson = result.getPersons().get(0);
    assertNotNull(gedxPerson.getFacts());
    assertEquals(gedxPerson.getFacts().size(), 1);
    Fact gedxFact = gedxPerson.getFacts().get(0);
    assertNotNull(gedxFact);
    assertNull(gedxFact.getSources());
// TODO: will probably be needed when the TEXT tag starts being processed
//    assertEquals(gedxFact.getSources().size(), 1);
//    SourceReference gedxSourceReference = gedxFact.getSources().get(0);
//    assertNotNull(gedxSourceReference);
//    assertNotNull(gedxSourceReference.getSourceDescription());
//    assertTrue(gedxSourceReference.getSourceDescription().getResource().toString().startsWith("#"));
//    generatedId = gedxSourceReference.getSourceDescription().getResource().toString().substring(1);
//    assertNotNull(generatedId, "5");
//    assertNull(gedxSourceReference.getAttribution());
//    assertNull(gedxSourceReference.getExtensionElements());

    assertNotNull(result.getSourceDescriptions());
    assertEquals(result.getSourceDescriptions().size(), 0);
  }
}
TOP

Related Classes of org.gedcomx.conversion.gedcom.dq55.SourceReferenceMapperTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.