/*
* 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 javax.xml.parsers.ParserConfigurationException;
import javax.xml.stream.XMLStreamException;
import org.geotoolkit.xal.model.AddressDetails;
import org.geotoolkit.xal.model.AddressLines;
import org.geotoolkit.xal.model.GenericTypedGrPostal;
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.Test;
import org.xml.sax.SAXException;
import static org.junit.Assert.*;
/**
*
* @author SAmuel Andrés
* @module
*/
public class AddressLinesTest extends org.geotoolkit.test.TestBase {
private static final String pathToTestFile = "src/test/resources/org/geotoolkit/xal/addressLines.xml";
public AddressLinesTest() {
}
@Test
public void addressLinesReadTest() 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 AddressLines addressLines = addressDetails0.getAddressLines();
assertEquals(2, addressLines.getAddressLines().size());
final GenericTypedGrPostal addressLine0 = addressLines.getAddressLines().get(0);
assertEquals("code1", addressLine0.getGrPostal().getCode());
assertEquals("type1", addressLine0.getType());
assertEquals("Première ligne", addressLine0.getContent());
final GenericTypedGrPostal addressLine1 = addressLines.getAddressLines().get(1);
assertEquals("code2", addressLine1.getGrPostal().getCode());
assertEquals("type2", addressLine1.getType());
assertEquals("Seconde ligne", addressLine1.getContent());
}
@Test
public void addressWriteTest() throws IOException, XMLStreamException, ParserConfigurationException, SAXException, XalException{
final XalFactory xalFactory = DefaultXalFactory.getInstance();
final AddressLines addressLines = xalFactory.createAddressLines();
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");
addressLines.setAddressLines(Arrays.asList(addressLine0, addressLine1));
final AddressDetails addressDetails = xalFactory.createAddressDetails();
addressDetails.setAddressLines(addressLines);
final Xal xal = xalFactory.createXal(Arrays.asList(addressDetails), null);
final File temp = File.createTempFile("addressLinesTest",".xal");
temp.deleteOnExit();
final XalWriter writer = new XalWriter();
writer.setOutput(temp);
writer.write(xal);
writer.dispose();
DomCompare.compare(
new File(pathToTestFile), temp);
}
}