package com.formulasearchengine.mathosphere.basex;
import com.formulasearchengine.mathosphere.basex.types.*;
import org.custommonkey.xmlunit.XMLAssert;
import org.custommonkey.xmlunit.XMLUnit;
import org.junit.Test;
/**
* Tests marshalling of types into NTCIR xml format.
* Created by jjl4 on 6/24/15.
*/
public class XStreamTest {
@Test
public void testResultToXML() throws Exception {
final Result result = new Result( "NTCIR11-Math-1", 21L );
final Hit hit = new Hit( "id", "filename", null, null );
final Hit hit2 = new Hit( "id", "filename", 0, 0 );
final Formula formula = new Formula( "id", "queryFormulaID", "filename#formulaID", 0 );
final Formula formula2 = new Formula( "id", "queryFormulaID", "filename#formulaID", 0 );
final Qvar qvar = new Qvar( "queryQvarID", "qvarID" );
final Qvar qvar2 = new Qvar( "queryQvarID", "qvarID" );
formula.addQvar( qvar );
formula.addQvar( qvar2 );
hit.addFormula( formula );
hit.addFormula( formula2 );
result.addHit( hit );
result.addHit( hit2 );
result.setShowTime( true );
XMLUnit.setIgnoreWhitespace( true );
XMLUnit.setIgnoreAttributeOrder( true );
XMLAssert.assertXMLEqual( TestUtils.getFileContents( TestUtils.BASEX_RESOURCE_DIR + "testResultToXML.xml" ),
Client.resultToXML( result ) );
}
@Test
public void testResultsToXML() throws Exception {
final Results results = new Results();
final Run run =new Run( "runtag", 23L, "type" );
final Run run2 = new Run( "runtag", 52L, "type" );
final Result result = new Result( "NTCIR11-Math-1", 21L );
final Hit hit = new Hit( "id", "filename", 0, 0);
final Formula formula = new Formula( "id", "queryFormulaID", "filename#formulaID", null );
final Formula formula2 = new Formula( "id", "queryFormulaID", "filename#formulaID", 0 );
final Qvar qvar = new Qvar( "queryQvarID", "qvarID" );
formula.addQvar( qvar );
hit.addFormula( formula2 );
hit.addFormula( formula );
result.addHit( hit );
run.addResult( result );
results.addRun( run );
results.addRun( run2 );
results.setShowTime( true );
XMLUnit.setIgnoreWhitespace( true );
XMLUnit.setIgnoreAttributeOrder( true );
XMLAssert.assertXMLEqual( TestUtils.getFileContents( TestUtils.BASEX_RESOURCE_DIR + "testResultsToXML.xml" ),
Client.resultsToXML( results ) );
}
@Test
public void xmlToResult() throws Exception {
final String file = TestUtils.getFileContents( TestUtils.BASEX_RESOURCE_DIR + "testResultToXML.xml" );
final Result result = (Result) Client.xmlToClass( file, Result.class );
result.setShowTime( true );
System.out.println( "RES:\n" + Client.resultToXML( result ) );
XMLUnit.setIgnoreWhitespace( true );
XMLUnit.setIgnoreAttributeOrder( true );
XMLAssert.assertXMLEqual( file, Client.resultToXML( result ) );
}
@Test
public void xmlToResults() throws Exception {
final String file = TestUtils.getFileContents( TestUtils.BASEX_RESOURCE_DIR + "testResultsToXML.xml" );
final Results results = (Results) Client.xmlToClass( file, Results.class );
results.setShowTime( true );
XMLUnit.setIgnoreWhitespace( true );
XMLUnit.setIgnoreAttributeOrder( true );
XMLAssert.assertXMLEqual( file, Client.resultsToXML( results ) );
}
@Test
public void testResultsShowTime() throws Exception {
final Results results = new Results();
final Run run =new Run( "runtag", 23L, "type" );
final Run run2 = new Run( "runtag", 52L, "type" );
final Result result = new Result( "NTCIR11-Math-1", 21L );
final Hit hit = new Hit( "id", "filename", 0, 0);
final Formula formula = new Formula( "id", "queryFormulaID", "filename#formulaID", null );
final Formula formula2 = new Formula( "id", "queryFormulaID", "filename#formulaID", 0 );
final Qvar qvar = new Qvar( "queryQvarID", "qvarID" );
formula.addQvar( qvar );
hit.addFormula( formula2 );
hit.addFormula( formula );
result.addHit( hit );
run.addResult( result );
results.addRun( run );
results.addRun( run2 );
results.setShowTime( false );
final String file = TestUtils.getFileContents( TestUtils.BASEX_RESOURCE_DIR + "testResultsShowTime.xml" );
XMLUnit.setIgnoreWhitespace( true );
XMLUnit.setIgnoreAttributeOrder( true );
XMLAssert.assertXMLEqual( file, Client.resultsToXML( results ) );
}
}