Package org.gedcomx.conversion.gedcom.dq55

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

package org.gedcomx.conversion.gedcom.dq55;

import org.folg.gedcom.model.Gedcom;
import org.folg.gedcom.model.GedcomTag;
import org.folg.gedcom.model.Submitter;
import org.folg.gedcom.parser.ModelParser;
import org.gedcomx.agent.Address;
import org.gedcomx.agent.Agent;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.io.File;
import java.net.URL;
import java.util.Arrays;
import java.util.List;

import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;


public class SubmitterMapperTest {
  private Gedcom gedcom;

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

    gedcom = modelParser.parseGedcom(gedcomFile);
    assertNotNull(gedcom);
    assertNotNull(gedcom.getSubmitter());
  }

  @Test
  public void testToContributor1() throws Exception {
    Submitter dqSubmitter = gedcom.getSubmitter();
    TestConversionResult result = new TestConversionResult();
    SubmitterMapper mapper = new SubmitterMapper();

    // assert parts of the structure that give us code coverage but that are dropped by conversion process
    assertEquals(dqSubmitter.getValue(), "__spec_deviation__value__");
    assertEquals(dqSubmitter.getRin(), "12345");
    assertEquals(((List<GedcomTag>)dqSubmitter.getExtensions().get("folg.more_tags")).size(), 1);
    assertEquals(((List<GedcomTag>)dqSubmitter.getExtensions().get("folg.more_tags")).get(0).getTag(), "UID");
    assertEquals(((List<GedcomTag>)dqSubmitter.getExtensions().get("folg.more_tags")).get(0).getValue(), "23456");

    // execute conversion and test conversion outcome
    mapper.toContributor(dqSubmitter, result);
    assertNotNull(result.getContributors());
    assertEquals(result.getContributors().size(), 1);
    Agent gedxPerson = result.getContributors().get(0);
    assertEquals(gedxPerson.getId(), "SUBM1");
    assertEquals(gedxPerson.getName().getValue(), "Henri Herkimer Hofmeir");
    for (Address address : gedxPerson.getAddresses()) {
      assertEquals(address.getValue()
        , "1 Genealogist Way\n" +
          "Hometown, ZZ  99999\n" +
          "United States");
      assertNull(address.getStreet());
      assertNull(address.getStreet2());
      assertNull(address.getStreet3());
      assertNull(address.getCity());
      assertNull(address.getStateOrProvince());
      assertNull(address.getPostalCode());
      assertNull(address.getCountry());
    }
    assertEquals(Arrays.toString(gedxPerson.getPhones().toArray()), "[data:,Phone%3A%20935-555-1212, data:,Fax%3A%20935-555-0101]");
    assertEquals(Arrays.toString(gedxPerson.getEmails().toArray()), "[mailto:info@nospam.com]");
    assertEquals(gedxPerson.getHomepage().getResource().toString(), "http://nospam.com/");

    assertNull(gedxPerson.getAccounts());
    assertNull(gedxPerson.getOpenid());
  }
}
TOP

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

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.