@Test public void writeToDocument_order() { // Annotation not working as it would run after class annotation which results // in an INSERT instead of a CLEAN_INSERT this.createDbDataUtil().buildImport() .from("/datasets/testingEntityUnsortedData.xml") .executeCleanInsert(); Document doc = this.createDbDataUtil().buildExport() .addTableSorted("TestingEntity", "ID") .writeToXmlDocument(); XPathGetter xg = new XPathGetter(doc); Assert.assertEquals(1, xg.getSingleLong("//TestingEntity[1]/@id").intValue()); Assert.assertEquals(2, xg.getSingleLong("//TestingEntity[2]/@id").intValue()); Assert.assertEquals(3, xg.getSingleLong("//TestingEntity[3]/@id").intValue()); }
@Test public void writeToDocument_query() { // Annotation not working as it would run after class annotation which results // in an INSERT instead of a CLEAN_INSERT this.createDbDataUtil().buildImport() .from("/datasets/testingEntityUnsortedData.xml") .executeCleanInsert(); Document doc = this.createDbDataUtil().buildExport() .addTable("TestingEntity", "SELECT * FROM TESTINGENTITY WHERE ID=2") .writeToXmlDocument(); XPathGetter xg = new XPathGetter(doc); Assert.assertEquals(1, xg.getSingleLong("count(//TestingEntity)").intValue()); Assert.assertEquals(2, xg.getSingleLong("//TestingEntity/@id").intValue()); }
/** * Tests the data export function writing DB data to an XML Document. */ @Test public void writeToDocument() { // Whole table to XML Document Document doc = this.createDbDataUtil().buildExport() .addTable("Team", null) .writeToXmlDocument(); XPathGetter xg = new XPathGetter(doc); Assert.assertEquals(2, xg.getSingleLong("count(//Team)").intValue()); }
private void xPathGetter(String resourceName) throws Exception { Document doc = XmlUtils.loadXml(JuUrl.resource().relativeTo(XmlUtilsTest.class).get(resourceName)); XPathGetter xg = new XPathGetter(doc); assertEquals("XPathGetter[node=#document,nodeValue=<null>]", xg.toString()); assertArrayEquals(xg.getArray("//a1/*/@text"), new String[] {"B2", "B2", "B3"}); assertArrayEquals(xg.getArrayLong("//*/@value"), new Long[] {1L, 2L, 2L}); assertArrayEquals(xg.getDistinctArray("//b3/*/@value"), new String[] {"2"}); assertArrayEquals(xg.getDistinctArrayLong("//b3/*/@value"), new Long[] {2L}); assertEquals(xg.getGetter("//b3").getSingle("@text"), "B3"); XPathGetter xgSubs[] = xg.getGetters("//b3/*"); assertEquals(xgSubs.length, 2); assertEquals(xgSubs[0].getSingle("@text"), "C2"); assertEquals("XPathGetter[node=c2,nodeValue=<null>]", xgSubs[0].toString()); assertEquals(xgSubs[1].getSingle("@text"), "C3"); assertEquals("XPathGetter[node=c3,nodeValue=<null>]", xgSubs[1].toString()); assertEquals(xg.getNode("root"), doc.getDocumentElement()); Node bNodes[] = xg.getNodes("//a1/*"); assertEquals(bNodes.length, 3); assertEquals(bNodes[2].getNodeName(), "b3"); assertEquals(xg.getSingle("/root/a1/@text"), "A1"); assertEquals(xg.getSingleLong("/root/a1/b2/c1/@value"), new Long(1)); assertEquals(3, xg.getCount("//a1/*")); }