/*
* Geotoolkit - An Open Source Java GIS Toolkit
* http://www.geotoolkit.org
*
* (C) 2010, Geomatys
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotoolkit.xal;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.stream.XMLStreamException;
import org.geotoolkit.xal.model.AddressDetails;
import org.geotoolkit.xal.model.AdministrativeArea;
import org.geotoolkit.xal.model.AfterBeforeEnum;
import org.geotoolkit.xal.model.Country;
import org.geotoolkit.xal.model.CountryNameCode;
import org.geotoolkit.xal.model.Department;
import org.geotoolkit.xal.model.Firm;
import org.geotoolkit.xal.model.GenericTypedGrPostal;
import org.geotoolkit.xal.model.MailStop;
import org.geotoolkit.xal.model.MailStopNumber;
import org.geotoolkit.xal.model.PostBox;
import org.geotoolkit.xal.model.PostBoxNumber;
import org.geotoolkit.xal.model.PostBoxNumberExtension;
import org.geotoolkit.xal.model.PostBoxNumberPrefix;
import org.geotoolkit.xal.model.PostBoxNumberSuffix;
import org.geotoolkit.xal.model.PostOffice;
import org.geotoolkit.xal.model.PostOfficeNumber;
import org.geotoolkit.xal.model.PostTown;
import org.geotoolkit.xal.model.PostTownSuffix;
import org.geotoolkit.xal.model.PostalCode;
import org.geotoolkit.xal.model.PostalCodeNumberExtension;
import org.geotoolkit.xal.model.PostalRoute;
import org.geotoolkit.xal.model.SubAdministrativeArea;
import org.geotoolkit.xal.model.Xal;
import org.geotoolkit.xal.model.XalException;
import org.geotoolkit.xal.xml.XalReader;
import org.geotoolkit.xal.xml.XalWriter;
import org.geotoolkit.xml.DomCompare;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.xml.sax.SAXException;
import static org.junit.Assert.*;
/**
*
* @author Samuel Andrés
* @module
*/
public class CountryTest_AA {
private static final double DELTA = 0.000000000001;
private static final String pathToTestFile = "src/test/resources/org/geotoolkit/xal/country_AA.xml";
public CountryTest_AA() {
}
@BeforeClass
public static void setUpClass() throws Exception {
}
@AfterClass
public static void tearDownClass() throws Exception {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
@Test
public void country_AAReadTest() throws IOException, XMLStreamException, XalException {
final XalReader reader = new XalReader();
reader.setInput(new File(pathToTestFile));
final Xal xalObjects = reader.read();
reader.dispose();
assertEquals(1, xalObjects.getAddressDetails().size());
final AddressDetails addressDetails0 = xalObjects.getAddressDetails().get(0);
final Country country = addressDetails0.getCountry();
final List<GenericTypedGrPostal> addressLines = country.getAddressLines();
assertEquals(2, addressLines.size());
final GenericTypedGrPostal addressLine0 = addressLines.get(0);
assertEquals("code1", addressLine0.getGrPostal().getCode());
assertEquals("type1", addressLine0.getType());
assertEquals("Première ligne", addressLine0.getContent());
final GenericTypedGrPostal addressLine1 = addressLines.get(1);
assertEquals("code2", addressLine1.getGrPostal().getCode());
assertEquals("type2", addressLine1.getType());
assertEquals("Seconde ligne", addressLine1.getContent());
assertEquals(2,country.getCountryNameCodes().size());
final CountryNameCode countryNameCode0 = country.getCountryNameCodes().get(0);
assertEquals("scheme1", countryNameCode0.getScheme());
assertEquals("code1", countryNameCode0.getGrPostal().getCode());
assertEquals("countryNameCode1", countryNameCode0.getContent());
final CountryNameCode countryNameCode1 = country.getCountryNameCodes().get(1);
assertEquals("scheme2", countryNameCode1.getScheme());
assertEquals("code2", countryNameCode1.getGrPostal().getCode());
assertEquals("countryNameCode2", countryNameCode1.getContent());
assertEquals(1, country.getCountryNames().size());
final GenericTypedGrPostal countryName0 = country.getCountryNames().get(0);
assertEquals("typeCN", countryName0.getType());
assertEquals("codeCN", countryName0.getGrPostal().getCode());
assertEquals("Country Name", countryName0.getContent());
assertTrue(country.getAdministrativeArea() != null);
final AdministrativeArea admininstrativeArea0 = country.getAdministrativeArea();
assertEquals("typeAA", admininstrativeArea0.getType());
assertEquals("usageTypeAA", admininstrativeArea0.getUsageType());
assertEquals("indicatorAA", admininstrativeArea0.getIndicator());
assertEquals(1, admininstrativeArea0.getAddressLines().size());
assertEquals("Troisième ligne", admininstrativeArea0.getAddressLines().get(0).getContent());
assertEquals(1, admininstrativeArea0.getAdministrativeAreaNames().size());
final GenericTypedGrPostal administrativeAreaName0 = admininstrativeArea0.getAdministrativeAreaNames().get(0);
assertEquals("typeAAN",administrativeAreaName0.getType());
assertEquals("codeAAN", administrativeAreaName0.getGrPostal().getCode());
assertEquals("Administrative Area Name", administrativeAreaName0.getContent());
final SubAdministrativeArea subAdministrativeArea = admininstrativeArea0.getSubAdministrativeArea();
assertEquals("typeSAA", subAdministrativeArea.getType());
assertEquals("usageTypeSAA", subAdministrativeArea.getUsageType());
assertEquals("indicatorSAA", subAdministrativeArea.getIndicator());
assertEquals(1, subAdministrativeArea.getAddressLines().size());
assertEquals("Quatrième Ligne", subAdministrativeArea.getAddressLines().get(0).getContent());
assertEquals(1, subAdministrativeArea.getSubAdministrativeAreaNames().size());
final GenericTypedGrPostal subAdministrativeAreaName = subAdministrativeArea.getSubAdministrativeAreaNames().get(0);
assertEquals("typeSAAN",subAdministrativeAreaName.getType());
assertEquals("codeSAAN", subAdministrativeAreaName.getGrPostal().getCode());
assertEquals("Sub Administrative Area Name", subAdministrativeAreaName.getContent());
final PostOffice subAdministrativePostOffice = subAdministrativeArea.getPostOffice();
assertEquals(1, subAdministrativePostOffice.getAddressLines().size());
assertEquals("PostOfficeAddressLine", subAdministrativePostOffice.getAddressLines().get(0).getContent());
assertEquals(2, subAdministrativePostOffice.getPostOfficeNames().size());
final GenericTypedGrPostal subAdminPostOfficeName0 = subAdministrativePostOffice.getPostOfficeNames().get(0);
assertEquals("postOfficeNameType", subAdminPostOfficeName0.getType());
assertEquals("postOfficeNameCode", subAdminPostOfficeName0.getGrPostal().getCode());
assertEquals("post office name", subAdminPostOfficeName0.getContent());
final GenericTypedGrPostal subAdminPostOfficeName1 = subAdministrativePostOffice.getPostOfficeNames().get(1);
assertEquals("post office name 2", subAdminPostOfficeName1.getContent());
final PostalRoute subAdminPostOfficePostalRoute = subAdministrativePostOffice.getPostalRoute();
assertEquals(1, subAdminPostOfficePostalRoute.getAddressLines().size());
assertEquals("postal route address line", subAdminPostOfficePostalRoute.getAddressLines().get(0).getContent());
assertEquals(1, subAdminPostOfficePostalRoute.getPostalRouteNames().size());
final GenericTypedGrPostal subAdminPostOfficePostalRouteName0 = subAdminPostOfficePostalRoute.getPostalRouteNames().get(0);
assertEquals("postal route name", subAdminPostOfficePostalRouteName0.getContent());
assertEquals("postalRouteNameType", subAdminPostOfficePostalRouteName0.getType());
assertEquals("postalRouteNameCode", subAdminPostOfficePostalRouteName0.getGrPostal().getCode());
final PostBox subAdminPostOfficePostalRoutePostBox = subAdminPostOfficePostalRoute.getPostBox();
assertEquals("postal route post box number", subAdminPostOfficePostalRoutePostBox.getPostBoxNumber().getContent());
final PostBox subAdminPostOfficePostBox = subAdministrativePostOffice.getPostBox();
assertEquals("postBoxType", subAdminPostOfficePostBox.getType());
assertEquals("postBoxIndicator", subAdminPostOfficePostBox.getIndicator());
assertEquals(1, subAdminPostOfficePostBox.getAddressLines().size());
assertEquals("post box address line", subAdminPostOfficePostBox.getAddressLines().get(0).getContent());
final PostBoxNumber subAdminPostOfficePostBoxNumber = subAdminPostOfficePostBox.getPostBoxNumber();
assertEquals("postBoxNumberCode", subAdminPostOfficePostBoxNumber.getGrPostal().getCode());
assertEquals("post box number", subAdminPostOfficePostBoxNumber.getContent());
final PostBoxNumberPrefix subAdminPostOfficePostBoxNumberPrefix = subAdminPostOfficePostBox.getPostBoxNumberPrefix();
assertEquals("prefixSeparator", subAdminPostOfficePostBoxNumberPrefix.getNumberPrefixSeparator());
assertEquals("prefixCode", subAdminPostOfficePostBoxNumberPrefix.getGrPostal().getCode());
assertEquals("post box number prefix", subAdminPostOfficePostBoxNumberPrefix.getContent());
final PostBoxNumberSuffix subAdminPostOfficePostBoxNumberSuffix = subAdminPostOfficePostBox.getPostBoxNumberSuffix();
assertEquals("suffixSeparator", subAdminPostOfficePostBoxNumberSuffix.getNumberSuffixSeparator());
assertEquals("suffixCode", subAdminPostOfficePostBoxNumberSuffix.getGrPostal().getCode());
assertEquals("post box number suffix", subAdminPostOfficePostBoxNumberSuffix.getContent());
final PostBoxNumberExtension subAdminPostOfficePostBoxNumberExtension = subAdminPostOfficePostBox.getPostBoxNumberExtension();
assertEquals("extensionSeparator", subAdminPostOfficePostBoxNumberExtension.getNumberExtensionSeparator());
assertEquals("post box number extension", subAdminPostOfficePostBoxNumberExtension.getContent());
final Firm subAdminPostOfficePostBoxFirm = subAdminPostOfficePostBox.getFirm();
assertEquals("firmType", subAdminPostOfficePostBoxFirm.getType());
assertEquals(1, subAdminPostOfficePostBoxFirm.getAddressLines().size());
assertEquals("firm address line", subAdminPostOfficePostBoxFirm.getAddressLines().get(0).getContent());
assertEquals(1, subAdminPostOfficePostBoxFirm.getFirmNames().size());
final GenericTypedGrPostal subAdminPostOfficePostBoxFirmName = subAdminPostOfficePostBoxFirm.getFirmNames().get(0);
assertEquals("firmNameType", subAdminPostOfficePostBoxFirmName.getType());
assertEquals("firmNameCode", subAdminPostOfficePostBoxFirmName.getGrPostal().getCode());
assertEquals("firm name", subAdminPostOfficePostBoxFirmName.getContent());
assertEquals(1, subAdminPostOfficePostBoxFirm.getDepartments().size());
final Department subAdminPostOfficePostBoxFirmDepartment = subAdminPostOfficePostBoxFirm.getDepartments().get(0);
assertEquals("departmentType", subAdminPostOfficePostBoxFirmDepartment.getType());
assertEquals(1, subAdminPostOfficePostBoxFirmDepartment.getAddressLines().size());
assertEquals("department address line", subAdminPostOfficePostBoxFirmDepartment.getAddressLines().get(0).getContent());
assertEquals(1, subAdminPostOfficePostBoxFirmDepartment.getDepartmentNames().size());
final GenericTypedGrPostal subAdminPostOfficePostBoxFirmDepartmentName = subAdminPostOfficePostBoxFirmDepartment.getDepartmentNames().get(0);
assertEquals("departmentNameType", subAdminPostOfficePostBoxFirmDepartmentName.getType());
assertEquals("departmentNameCode", subAdminPostOfficePostBoxFirmDepartmentName.getGrPostal().getCode());
assertEquals("department name", subAdminPostOfficePostBoxFirmDepartmentName.getContent());
final MailStop subAdminPostOfficePostBoxFirmDepartmentMailStop = subAdminPostOfficePostBoxFirmDepartment.getMailStop();
assertEquals("mailStopType", subAdminPostOfficePostBoxFirmDepartmentMailStop.getType());
assertEquals(1, subAdminPostOfficePostBoxFirmDepartmentMailStop.getAddressLines().size());
assertEquals("mail stop address line", subAdminPostOfficePostBoxFirmDepartmentMailStop.getAddressLines().get(0).getContent());
assertEquals(1, subAdminPostOfficePostBoxFirmDepartmentMailStop.getMailStopNames().size());
final GenericTypedGrPostal subAdminPostOfficePostBoxFirmDepartmentMailStopName = subAdminPostOfficePostBoxFirmDepartmentMailStop.getMailStopNames().get(0);
assertEquals("mailStopNameType", subAdminPostOfficePostBoxFirmDepartmentMailStopName.getType());
assertEquals("mailStopNameCode", subAdminPostOfficePostBoxFirmDepartmentMailStopName.getGrPostal().getCode());
assertEquals("mail stop name", subAdminPostOfficePostBoxFirmDepartmentMailStopName.getContent());
final MailStopNumber subAdminPostOfficePostBoxFirmDepartmentMailStopNumber = subAdminPostOfficePostBoxFirmDepartmentMailStop.getMailStopNumber();
assertEquals("numberSeparator", subAdminPostOfficePostBoxFirmDepartmentMailStopNumber.getNameNumberSeparator());
assertEquals("mailStopNumberCode", subAdminPostOfficePostBoxFirmDepartmentMailStopNumber.getGrPostal().getCode());
assertEquals("mail stop number", subAdminPostOfficePostBoxFirmDepartmentMailStopNumber.getContent());
final PostalCode subAdminPostOfficePostBoxFirmDepartmentPostalCode = subAdminPostOfficePostBoxFirmDepartment.getPostalCode();
assertEquals("postalCodeType", subAdminPostOfficePostBoxFirmDepartmentPostalCode.getType());
assertEquals(1, subAdminPostOfficePostBoxFirmDepartmentPostalCode.getAddressLines().size());
assertEquals("postal code address line", subAdminPostOfficePostBoxFirmDepartmentPostalCode.getAddressLines().get(0).getContent());
assertEquals(1, subAdminPostOfficePostBoxFirmDepartmentPostalCode.getPostalCodeNumbers().size());
final GenericTypedGrPostal subAdminPostOfficePostBoxFirmDepartmentPostalCodeNumber = subAdminPostOfficePostBoxFirmDepartmentPostalCode.getPostalCodeNumbers().get(0);
assertEquals("postalCodeNumberType", subAdminPostOfficePostBoxFirmDepartmentPostalCodeNumber.getType());
assertEquals("postalCodeNumberCode", subAdminPostOfficePostBoxFirmDepartmentPostalCodeNumber.getGrPostal().getCode());
assertEquals("postal code number", subAdminPostOfficePostBoxFirmDepartmentPostalCodeNumber.getContent());
assertEquals(1, subAdminPostOfficePostBoxFirmDepartmentPostalCode.getPostalCodeNumberExtensions().size());
final PostalCodeNumberExtension subAdminPostOfficePostBoxFirmDepartmentPostalCodeNumberExtension = subAdminPostOfficePostBoxFirmDepartmentPostalCode.getPostalCodeNumberExtensions().get(0);
assertEquals("extensionType", subAdminPostOfficePostBoxFirmDepartmentPostalCodeNumberExtension.getType());
assertEquals("separator", subAdminPostOfficePostBoxFirmDepartmentPostalCodeNumberExtension.getNumberExtensionSeparator());
assertEquals("extensionCode", subAdminPostOfficePostBoxFirmDepartmentPostalCodeNumberExtension.getGrPostal().getCode());
assertEquals("postal code number extension", subAdminPostOfficePostBoxFirmDepartmentPostalCodeNumberExtension.getContent());
final PostTown subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTown = subAdminPostOfficePostBoxFirmDepartmentPostalCode.getPostTown();
assertEquals("postTownType", subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTown.getType());
assertEquals(1, subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTown.getAddressLines().size());
assertEquals("post town address line", subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTown.getAddressLines().get(0).getContent());
assertEquals(1, subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTown.getPostTownNames().size());
final GenericTypedGrPostal subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTownName = subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTown.getPostTownNames().get(0);
assertEquals("nameType", subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTownName.getType());
assertEquals("nameCode", subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTownName.getGrPostal().getCode());
assertEquals("name", subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTownName.getContent());
final PostTownSuffix subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTownSuffix = subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTown.getPostTownSuffix();
assertEquals("suffixCode", subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTownSuffix.getGrPostal().getCode());
assertEquals("suffix", subAdminPostOfficePostBoxFirmDepartmentPostalCodePostTownSuffix.getContent());
final MailStop subAdminPostOfficePostBoxFirmMailStop = subAdminPostOfficePostBoxFirm.getMailStop();
assertEquals(2, subAdminPostOfficePostBoxFirmMailStop.getAddressLines().size());
assertEquals("mail stop 1", subAdminPostOfficePostBoxFirmMailStop.getAddressLines().get(0).getContent());
assertEquals("mail stop 2", subAdminPostOfficePostBoxFirmMailStop.getAddressLines().get(1).getContent());
final PostalCode subAdminPostOfficePostBoxFirmPostalCode = subAdminPostOfficePostBoxFirm.getPostalCode();
assertEquals(2, subAdminPostOfficePostBoxFirmPostalCode.getAddressLines().size());
assertEquals("postal code line 1", subAdminPostOfficePostBoxFirmPostalCode.getAddressLines().get(0).getContent());
assertEquals("postal code line 2", subAdminPostOfficePostBoxFirmPostalCode.getAddressLines().get(1).getContent());
final PostalCode subAdminPostOfficePostalCode = subAdministrativePostOffice.getPostalCode();
assertEquals(2, subAdminPostOfficePostalCode.getPostalCodeNumbers().size());
assertEquals("postalCodeNumber1", subAdminPostOfficePostalCode.getPostalCodeNumbers().get(0).getContent());
assertEquals("postalCodeNumber2", subAdminPostOfficePostalCode.getPostalCodeNumbers().get(1).getContent());
assertEquals(2, subAdminPostOfficePostalCode.getPostalCodeNumberExtensions().size());
assertEquals("extension1", subAdminPostOfficePostalCode.getPostalCodeNumberExtensions().get(0).getContent());
assertEquals("extension2", subAdminPostOfficePostalCode.getPostalCodeNumberExtensions().get(1).getContent());
final PostOffice adminAreaPostOffice = admininstrativeArea0.getPostOffice();
final PostOfficeNumber adminAreaPostOfficeNumber = adminAreaPostOffice.getPostOfficeNumber();
assertEquals("indicator", adminAreaPostOfficeNumber.getIndicator());
assertEquals(AfterBeforeEnum.BEFORE, adminAreaPostOfficeNumber.getIndicatorOccurrence());
assertEquals("code", adminAreaPostOfficeNumber.getGrPostal().getCode());
assertEquals("post office number", adminAreaPostOfficeNumber.getContent());
}
@Test
public void country_AAWriteTest() throws IOException, XMLStreamException, ParserConfigurationException, SAXException, XalException{
final XalFactory xalFactory = DefaultXalFactory.getInstance();
final GenericTypedGrPostal departmentMailStopAddressLine0 = xalFactory.createGenericTypedGrPostal(null, null, "mail stop address line");
final GenericTypedGrPostal departmentMailStopName0 = xalFactory.createGenericTypedGrPostal();
departmentMailStopName0.setType("mailStopNameType");
departmentMailStopName0.setGrPostal(xalFactory.createGrPostal("mailStopNameCode"));
departmentMailStopName0.setContent("mail stop name");
final MailStopNumber departmentMailStopNumber = xalFactory.createMailStopNumber(
"numberSeparator", xalFactory.createGrPostal("mailStopNumberCode"), "mail stop number");
final MailStop departmentMailStop = xalFactory.createMailStop(
Arrays.asList(departmentMailStopAddressLine0),
Arrays.asList(departmentMailStopName0),
departmentMailStopNumber, "mailStopType");
final GenericTypedGrPostal departmentPostalCodeAddressLine0 = xalFactory.createGenericTypedGrPostal();
departmentPostalCodeAddressLine0.setContent("postal code address line");
final GenericTypedGrPostal departmentPostalCodeNumber = xalFactory.createGenericTypedGrPostal(
"postalCodeNumberType", xalFactory.createGrPostal("postalCodeNumberCode"), "postal code number");
final PostalCodeNumberExtension departmentPostalCodeNumberExtension = xalFactory.createPostalCodeNumberExtension();
departmentPostalCodeNumberExtension.setType("extensionType");
departmentPostalCodeNumberExtension.setGrPostal(xalFactory.createGrPostal("extensionCode"));
departmentPostalCodeNumberExtension.setNumberExtensionSeparator("separator");
departmentPostalCodeNumberExtension.setContent("postal code number extension");
final GenericTypedGrPostal departmentPostalCodePostTownAddressLine0 = xalFactory.createGenericTypedGrPostal();
departmentPostalCodePostTownAddressLine0.setContent("post town address line");
final GenericTypedGrPostal departmentPostalCodePostTownName0 = xalFactory.createGenericTypedGrPostal();
departmentPostalCodePostTownName0.setContent("name");
departmentPostalCodePostTownName0.setType("nameType");
departmentPostalCodePostTownName0.setGrPostal(xalFactory.createGrPostal("nameCode"));
final PostTown departmentPostalCodePostTown = xalFactory.createPostTown();
departmentPostalCodePostTown.setType("postTownType");
departmentPostalCodePostTown.setAddressLines(Arrays.asList(departmentPostalCodePostTownAddressLine0));
departmentPostalCodePostTown.setPostTownNames(Arrays.asList(departmentPostalCodePostTownName0));
final PostTownSuffix departmentPostalCodePostTownSuffix = xalFactory.createPostTownSuffix(xalFactory.createGrPostal("suffixCode"), "suffix");
departmentPostalCodePostTown.setPostTownSuffix(departmentPostalCodePostTownSuffix);
final PostalCode departmentPostalCode = xalFactory.createPostalCode(
Arrays.asList(departmentPostalCodeAddressLine0),
Arrays.asList(departmentPostalCodeNumber),
Arrays.asList(departmentPostalCodeNumberExtension),
departmentPostalCodePostTown, "postalCodeType");
final Department department = xalFactory.createDepartment();
department.setAddressLines(Arrays.asList(xalFactory.createGenericTypedGrPostal(null, null, "department address line")));
department.setDepartmentNames(Arrays.asList(xalFactory.createGenericTypedGrPostal(
"departmentNameType", xalFactory.createGrPostal("departmentNameCode"), "department name")));
department.setType("departmentType");
department.setMailStop(departmentMailStop);
department.setPostalCode(departmentPostalCode);
final GenericTypedGrPostal firmMailStopAddressLine0 = xalFactory.createGenericTypedGrPostal();
firmMailStopAddressLine0.setContent("mail stop 1");
final GenericTypedGrPostal firmMailStopAddressLine1 = xalFactory.createGenericTypedGrPostal();
firmMailStopAddressLine1.setContent("mail stop 2");
final MailStop firmMailStop = xalFactory.createMailStop();
firmMailStop.setAddressLines(Arrays.asList(firmMailStopAddressLine0, firmMailStopAddressLine1));
final GenericTypedGrPostal firmPostalCodeAddressLine0 = xalFactory.createGenericTypedGrPostal();
firmPostalCodeAddressLine0.setContent("postal code line 1");
final GenericTypedGrPostal firmPostalCodeAddressLine1 = xalFactory.createGenericTypedGrPostal();
firmPostalCodeAddressLine1.setContent("postal code line 2");
final PostalCode firmPostalCode = xalFactory.createPostalCode();
firmPostalCode.setAddressLines(Arrays.asList(firmPostalCodeAddressLine0, firmPostalCodeAddressLine1));
final GenericTypedGrPostal firmName0 = xalFactory.createGenericTypedGrPostal(
"firmNameType", xalFactory.createGrPostal("firmNameCode"), "firm name");
final GenericTypedGrPostal firmAddressLine0 = xalFactory.createGenericTypedGrPostal();
firmAddressLine0.setContent("firm address line");
final Firm firm = xalFactory.createFirm();
firm.setType("firmType");
firm.setAddressLines(Arrays.asList(firmAddressLine0));
firm.setFirmNames(Arrays.asList(firmName0));
firm.setDepartments(Arrays.asList(department));
firm.setMailStop(firmMailStop);
firm.setPostalCode(firmPostalCode);
final GenericTypedGrPostal postOfficePostBoxAddressLine0 = xalFactory.createGenericTypedGrPostal();
postOfficePostBoxAddressLine0.setContent("post box address line");
final PostBoxNumber postOfficePostBoxNumber = xalFactory.createPostBoxNumber(
xalFactory.createGrPostal("postBoxNumberCode"), "post box number");
final PostBoxNumberPrefix postOfficePostBoxNumberPrefix = xalFactory.createPostBoxNumberPrefix();
postOfficePostBoxNumberPrefix.setNumberPrefixSeparator("prefixSeparator");
postOfficePostBoxNumberPrefix.setGrPostal(xalFactory.createGrPostal("prefixCode"));
postOfficePostBoxNumberPrefix.setContent("post box number prefix");
final PostBoxNumberSuffix postOfficePostBoxNumberSuffix = xalFactory.createPostBoxNumberSuffix();
postOfficePostBoxNumberSuffix.setNumberSuffixSeparator("suffixSeparator");
postOfficePostBoxNumberSuffix.setGrPostal(xalFactory.createGrPostal("suffixCode"));
postOfficePostBoxNumberSuffix.setContent("post box number suffix");
final PostBoxNumberExtension postOfficePostBoxNumberExtension = xalFactory.createPostBoxNumberExtension("extensionSeparator", "post box number extension");
final PostBox postOfficePostBox = xalFactory.createPostBox();
postOfficePostBox.setType("postBoxType");
postOfficePostBox.setIndicator("postBoxIndicator");postOfficePostBox.setAddressLines(Arrays.asList(postOfficePostBoxAddressLine0));
postOfficePostBox.setPostBoxNumber(postOfficePostBoxNumber);
postOfficePostBox.setPostBoxNumberPrefix(postOfficePostBoxNumberPrefix);
postOfficePostBox.setPostBoxNumberSuffix(postOfficePostBoxNumberSuffix);
postOfficePostBox.setPostBoxNumberExtension(postOfficePostBoxNumberExtension);
postOfficePostBox.setFirm(firm);
final PostalCodeNumberExtension postOfficePostalCodeNumberExtension1 = xalFactory.createPostalCodeNumberExtension();
postOfficePostalCodeNumberExtension1.setContent("extension1");
final PostalCodeNumberExtension postOfficePostalCodeNumberExtension2 = xalFactory.createPostalCodeNumberExtension();
postOfficePostalCodeNumberExtension2.setContent("extension2");
final GenericTypedGrPostal postOfficePostalCodeNumber1 = xalFactory.createGenericTypedGrPostal();
postOfficePostalCodeNumber1.setContent("postalCodeNumber1");
final GenericTypedGrPostal postOfficePostalCodeNumber2 = xalFactory.createGenericTypedGrPostal();
postOfficePostalCodeNumber2.setContent("postalCodeNumber2");
final PostalCode postOfficePostalCode = xalFactory.createPostalCode();
postOfficePostalCode.setPostalCodeNumbers(Arrays.asList(postOfficePostalCodeNumber1, postOfficePostalCodeNumber2));
postOfficePostalCode.setPostalCodeNumberExtensions(Arrays.asList(postOfficePostalCodeNumberExtension1, postOfficePostalCodeNumberExtension2));
final GenericTypedGrPostal postalRouteAddressLine0 = xalFactory.createGenericTypedGrPostal();
postalRouteAddressLine0.setContent("postal route address line");
final GenericTypedGrPostal postalRouteName0 = xalFactory.createGenericTypedGrPostal(
"postalRouteNameType", xalFactory.createGrPostal("postalRouteNameCode"), "postal route name");
final PostBoxNumber postOfficePostalRoutePostBoxNumber = xalFactory.createPostBoxNumber(null, "postal route post box number");
final PostBox postOfficePostalRoutePostBox = xalFactory.createPostBox();
postOfficePostalRoutePostBox.setPostBoxNumber(postOfficePostalRoutePostBoxNumber);
final PostalRoute postOfficePostalRoute = xalFactory.createPostalRoute();
postOfficePostalRoute.setAddressLines(Arrays.asList(postalRouteAddressLine0));
postOfficePostalRoute.setPostalRouteNames(Arrays.asList(postalRouteName0));
postOfficePostalRoute.setPostBox(postOfficePostalRoutePostBox);
final GenericTypedGrPostal postOfficeAddressLine0 = xalFactory.createGenericTypedGrPostal();
postOfficeAddressLine0.setContent("PostOfficeAddressLine");
final GenericTypedGrPostal postOfficeName0 = xalFactory.createGenericTypedGrPostal(
"postOfficeNameType", xalFactory.createGrPostal("postOfficeNameCode"), "post office name");
final GenericTypedGrPostal postOfficeName1 = xalFactory.createGenericTypedGrPostal();
postOfficeName1.setContent("post office name 2");
final PostOffice subAdminPostOffice = xalFactory.createPostOffice();
subAdminPostOffice.setAddressLines(Arrays.asList(postOfficeAddressLine0));
subAdminPostOffice.setPostOfficeNames(Arrays.asList(postOfficeName0, postOfficeName1));
subAdminPostOffice.setPostalRoute(postOfficePostalRoute);
subAdminPostOffice.setPostBox(postOfficePostBox);
subAdminPostOffice.setPostalCode(postOfficePostalCode);
final GenericTypedGrPostal subAdministrativeAreaAddressLine0 = xalFactory.createGenericTypedGrPostal();
subAdministrativeAreaAddressLine0.setContent("Quatrième Ligne");
final GenericTypedGrPostal subAdministrativeAreaName0 = xalFactory.createGenericTypedGrPostal(
"typeSAAN", xalFactory.createGrPostal("codeSAAN"), "Sub Administrative Area Name");
final SubAdministrativeArea subAdministrativeArea = xalFactory.createSubAdministrativeArea();
subAdministrativeArea.setAddressLines(Arrays.asList(subAdministrativeAreaAddressLine0));
subAdministrativeArea.setSubAdministrativeAreaNames(Arrays.asList(subAdministrativeAreaName0));
subAdministrativeArea.setPostOffice(subAdminPostOffice);
subAdministrativeArea.setIndicator("indicatorSAA");
subAdministrativeArea.setUsageType("usageTypeSAA");
subAdministrativeArea.setType("typeSAA");
final PostOfficeNumber administrativeAreaPostOfficeNumber = xalFactory.createPostOfficeNumber(
"indicator", AfterBeforeEnum.BEFORE, xalFactory.createGrPostal("code"), "post office number");
final PostOffice administrativeAreaPostOffice = xalFactory.createPostOffice();
administrativeAreaPostOffice.setPostOfficeNumber(administrativeAreaPostOfficeNumber);
final GenericTypedGrPostal administrativeAreaName = xalFactory.createGenericTypedGrPostal();
administrativeAreaName.setContent("Administrative Area Name");
administrativeAreaName.setGrPostal(xalFactory.createGrPostal("codeAAN"));
administrativeAreaName.setType("typeAAN");
final GenericTypedGrPostal addressLine3 = xalFactory.createGenericTypedGrPostal();
addressLine3.setContent("Troisième ligne");
final AdministrativeArea administrativeArea = xalFactory.createAdministrativeArea();
administrativeArea.setAddressLines(Arrays.asList(addressLine3));
administrativeArea.setAdministrativeAreaNames(Arrays.asList(administrativeAreaName));
administrativeArea.setIndicator("indicatorAA");
administrativeArea.setUsageType("usageTypeAA");
administrativeArea.setType("typeAA");
administrativeArea.setPostOffice(administrativeAreaPostOffice);
administrativeArea.setSubAdministrativeArea(subAdministrativeArea);
final CountryNameCode countryNameCode1 = xalFactory.createCountryNameCode(
"scheme1", xalFactory.createGrPostal("code1"), "countryNameCode1");
final CountryNameCode countryNameCode2 = xalFactory.createCountryNameCode(
"scheme2", xalFactory.createGrPostal("code2"), "countryNameCode2");
final GenericTypedGrPostal countryName0 = xalFactory.createGenericTypedGrPostal();
countryName0.setType("typeCN");
countryName0.setGrPostal(xalFactory.createGrPostal("codeCN"));
countryName0.setContent("Country Name");
final GenericTypedGrPostal addressLine0 = xalFactory.createGenericTypedGrPostal();
addressLine0.setGrPostal(xalFactory.createGrPostal("code1"));
addressLine0.setType("type1");
addressLine0.setContent("Première ligne");
final GenericTypedGrPostal addressLine1 = xalFactory.createGenericTypedGrPostal();
addressLine1.setGrPostal(xalFactory.createGrPostal("code2"));
addressLine1.setType("type2");
addressLine1.setContent("Seconde ligne");
final Country country = xalFactory.createCountry();
country.setAdministrativeArea(administrativeArea);
country.setCountryNames(Arrays.asList(countryName0));
country.setCountryNamesCodes(Arrays.asList(countryNameCode1, countryNameCode2));
country.setAddressLines(Arrays.asList(addressLine0, addressLine1));
final AddressDetails addressDetails = xalFactory.createAddressDetails();
addressDetails.setCountry(country);
final Xal xal = xalFactory.createXal(Arrays.asList(addressDetails), null);
final File temp = File.createTempFile("country_AA",".xml");
temp.deleteOnExit();
final XalWriter writer = new XalWriter();
writer.setOutput(temp);
writer.write(xal);
writer.dispose();
DomCompare.compare(
new File(pathToTestFile), temp);
}
}