/** * Test method for {@link * net.hyperadapt.pxweave.interpreter.test.OperationInterpreter#interpreteFillComponentByID(java.lang.String, * java.lang.String, org.w3c.dom.NodeList, java.util.List)} . * * @throws XMLWeaverException */ @Test public void testInterpreteFillComponentByID() throws XMLWeaverException { final Document listTarget = parser.buildDOM(URI.create("testData/bookList.xml")); final Document bookSource = parser.buildDOM(URI.create("testData/book.xml")); final NodeList joinPoints = xPathEvaluator.evaluateXPath("//book", listTarget); final NodeList sourceComps = xPathEvaluator.evaluateXPath("//books:book", bookSource); final List<Element> sourceComponents = new ArrayList<Element>(); sourceComponents.add((Element) sourceComps.item(0)); sourceComponents.add((Element) sourceComps.item(1)); sourceComponents.add((Element) sourceComps.item(2)); oInterpreter.interpreteFillComponentByID("price", "price", joinPoints, sourceComponents); NodeList result = xPathEvaluator.evaluateXPath("//book//books:name/text()", listTarget); assertTrue( "JoinPoints are filled with the correct nodes", (result.item(0).getNodeValue().contentEquals("Sam") & result.item(1).getNodeValue().contentEquals("M.")) & result.item(2).getNodeValue().contentEquals("A")); oInterpreter.interpreteFillComponentByID("price", "price", joinPoints, sourceComponents); result = xPathEvaluator.evaluateXPath("//book//books:name/text()", listTarget); assertTrue( "Already existing nodes in joinPoints are kept", (result.item(0).getNodeValue().contentEquals("Sam") & result.item(1).getNodeValue().contentEquals("Sam")) & result.item(2).getNodeValue().contentEquals("M.")); }
/** * Test method for {@link * net.hyperadapt.pxweave.interpreter.test.OperationInterpreter#interpreteFillComponentByID(java.lang.String, * java.lang.String, org.w3c.dom.NodeList, java.util.List)} . * * @throws XMLWeaverException */ @Test(expected = XMLWeaverException.class) public void testInterpreteFillComponentByIDSameNode() throws XMLWeaverException { final Document target = parser.buildDOM(URI.create("testData/bookList.xml")); final Document source = target; final NodeList joinPoints = xPathEvaluator.evaluateXPath("//book", target); final NodeList sourceComps = xPathEvaluator.evaluateXPath("//book", source); final List<Element> sourceComponents = new ArrayList<Element>(); sourceComponents.add((Element) sourceComps.item(0)); sourceComponents.add((Element) sourceComps.item(1)); sourceComponents.add((Element) sourceComps.item(2)); oInterpreter.interpreteFillComponentByID("price", "price", joinPoints, sourceComponents); }