package com.bc.ceres.metadata;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
/**
* {@author Bettina Scholze}
* Date: 02.10.12 11:56
*/
public class XPathHandlerTest {
@Test
public void testRun_1() throws Exception {
XPathHandler xPathHandler = new XPathHandler();
String document =
"<package>\n" +
" <class name=\"Director\">\n" +
" <field name=\"test1\"/>\n" +
" </class>\n" +
"</package>\n";
String result = xPathHandler.run("//package/class/@name", document);
assertEquals("Director", result);
}
@Test
public void testRun_2() throws Exception {
XPathHandler xPathHandler = new XPathHandler();
String document =
"<package>\n" +
" <class name=\"Director\">\n" +
" <field name=\"test1\">Headquaters</field>\n" +
" </class>\n" +
"</package>";
String result = xPathHandler.run("//package/class/field", document);
assertEquals("Headquaters", result);
}
@Test
public void testRun_3() throws Exception {
XPathHandler xPathHandler = new XPathHandler();
String document =
"<package>\n" +
" <class name=\"Director\">\n" +
" <field name=\"test1\">Headquaters</field>\n" +
" </class>\n" +
"</package>";
String result = xPathHandler.run("//field/@name", document);
assertEquals("test1", result);
}
@Test
public void testExtractXml() throws Exception {
XPathHandler xPathHandler = new XPathHandler();
String document =
" <metadata>" +
" <name>some name</name>" +
" <steps>\n" +
" <step>\n" +
" <processor>\n" +
" <name>Subset</name>\n" +
" <version>1.0</version>\n" +
" </processor>\n" +
" <parameters>\n" +
" <fullSwath>false</fullSwath>\n" +
" <copyMetadata>false</copyMetadata>\n" +
" <subSamplingX>1</subSamplingX>\n" +
" <subSamplingY>1</subSamplingY>\n" +
" </parameters>\n" +
" </step>\n" +
" <step>\n" +
" <processor>\n" +
" <name>Meris.CorrectRadiometry</name>\n" +
" <version>1.1</version>\n" +
" </processor>\n" +
" <parameters>\n" +
" <doRadToRefl>false</doRadToRefl>\n" +
" <doCalibration>true</doCalibration>\n" +
" <doSmile>true</doSmile>\n" +
" <doEqualization>true</doEqualization>\n" +
" <reproVersion>REPROCESSING_3</reproVersion>\n" +
" </parameters>\n" +
" </step>" +
" </steps>" +
"</metadata>";
//execution 1
String result1 = xPathHandler.extractXml("//steps/step[1]", document);
final String expected1 = "" +
"<step>\n" +
" <processor>\n" +
" <name>Subset</name>\n" +
" <version>1.0</version>\n" +
" </processor>\n" +
" <parameters>\n" +
" <fullSwath>false</fullSwath>\n" +
" <copyMetadata>false</copyMetadata>\n" +
" <subSamplingX>1</subSamplingX>\n" +
" <subSamplingY>1</subSamplingY>\n" +
" </parameters>\n" +
" </step>";
assertEquals(expected1, result1);
//execution 2
String result2 = xPathHandler.extractXml("//steps/step[2]", document);
final String expected2 = "" +
"<step>\n" +
" <processor>\n" +
" <name>Meris.CorrectRadiometry</name>\n" +
" <version>1.1</version>\n" +
" </processor>\n" +
" <parameters>\n" +
" <doRadToRefl>false</doRadToRefl>\n" +
" <doCalibration>true</doCalibration>\n" +
" <doSmile>true</doSmile>\n" +
" <doEqualization>true</doEqualization>\n" +
" <reproVersion>REPROCESSING_3</reproVersion>\n" +
" </parameters>\n" +
" </step>";
assertEquals(expected2, result2);
}
}