/*******************************************************************************
* Copyright 2016
* Ubiquitous Knowledge Processing (UKP) Lab
* Technische Universität Darmstadt
*
* 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 de.tudarmstadt.integration.alignment.xml;
import static org.junit.Assert.assertEquals;
import java.io.File;
import java.io.FileOutputStream;
import org.junit.Ignore;
import org.junit.Test;
import de.tudarmstadt.ukp.integration.alignment.xml.AlignmentXmlReader;
import de.tudarmstadt.ukp.integration.alignment.xml.AlignmentXmlWriter;
import de.tudarmstadt.ukp.integration.alignment.xml.model.Alignments;
import de.tudarmstadt.ukp.integration.alignment.xml.model.Source;
import de.tudarmstadt.ukp.integration.alignment.xml.model.XmlMeta;
public class AlignmentXmlWriterTest {
@Test
@Ignore
public void readerWriterTest() throws Exception{
//System.err.println("testing: " + JAXBContext.newInstance(AlignmentXmlReader.class).getClass().getName());
// read xml information
AlignmentXmlReader reader = new AlignmentXmlReader(new File("src/test/resources/ResourceAlignmentDraft_v1.2nn.xml"));
XmlMeta m = reader.readMetaData();
Alignments alignments = reader.readAlignments();
reader.close();
// check reading
assertEquals(m.date.trim(),"2014-06-12"); //trim formatting
assertEquals(m.rights.trim(),"Released into the public domain by the creator.");
assertEquals(m.sourceResource.id,"WordNet_2.1");
assertEquals(m.targetResource.id,"GermaNet_1.0");
assertEquals(m.targetResource.identifiertype.trim(),"lexical unit ID");
assertEquals(m.scoretypes.iterator().next().type, "manual");
assertEquals(alignments.source.size(), 1);
Source s = alignments.source.iterator().next();
assertEquals(s.targets.size(),2);
assertEquals(s.targets.get(1).ref,"12443");
assertEquals(s.targets.get(1).scores.get(0).src,"headferret");
assertEquals(s.targets.get(0).decision.src,"ferretdecision");
assertEquals(s.targets.get(0).decision.value,true);
// write output
AlignmentXmlWriter writer = new AlignmentXmlWriter(new FileOutputStream("target/testRes_v1.2nn.xml"));
writer.writeMetaData(m);
writer.writeAlignments(alignments);;
writer.close();
// compare input and output
}
@Test
@Ignore
public void readerWriterTestSub() throws Exception{
//System.err.println("testing: " + JAXBContext.newInstance(AlignmentXmlReader.class).getClass().getName());
// read xml information
AlignmentXmlReader reader = new AlignmentXmlReader(new File("src/test/resources/ResourceAlignmentDraft_v1.2nn_predicate.xml"));
XmlMeta m = reader.readMetaData();
Alignments alignments = reader.readAlignments();
reader.close();
// check reading
System.err.println(m.date);
assertEquals(m.date.trim(),"2014-06-12"); //trim formatting
assertEquals(m.rights.trim(),"Released into the public domain by the creator.");
assertEquals(m.sourceResource.id,"WordNet_2.1");
assertEquals(m.targetResource.id,"GermaNet_1.0");
assertEquals(m.targetResource.identifiertype.trim(),"lexical unit ID");
assertEquals(m.subSource.identifiertype,"semantic role");
assertEquals(m.subTarget.identifiertype,"semantic role");
assertEquals(m.scoretypes.iterator().next().type, "manual");
assertEquals(alignments.source.size(), 1);
Source s = alignments.source.iterator().next();
assertEquals(s.targets.size(),2);
assertEquals(s.targets.get(1).ref,"12443");
assertEquals(s.targets.get(1).scores.get(0).src,"headferret");
assertEquals(s.targets.get(0).decision.src,"ferretdecision");
assertEquals(s.targets.get(0).decision.value,true);
assertEquals(s.targets.get(1).subsources.get(0).ref, "role1");
assertEquals(s.targets.get(1).subsources.get(0).subtargets.get(1).ref, "roleb");
// write output
AlignmentXmlWriter writer = new AlignmentXmlWriter(new FileOutputStream("target/testRes_v1.2nn_predicate.xml"));
writer.writeMetaData(m);
writer.writeAlignments(alignments);;
writer.close();
// compare input and output
}
}