use of org.sirix.api.XdmNodeReadTrx in project sirix by sirixdb.
the class XdmResourceManagerTest method testClosed.
@Test
public void testClosed() {
final XdmNodeReadTrx rtx = holder.getReader();
rtx.close();
try {
rtx.getAttributeCount();
fail();
} catch (final IllegalStateException e) {
// Must fail.
} finally {
holder.getResourceManager().close();
}
}
use of org.sirix.api.XdmNodeReadTrx in project sirix by sirixdb.
the class XdmResourceManagerTest method testShreddedRevision.
@Test
public void testShreddedRevision() {
try (final XdmNodeWriteTrx wtx = holder.getResourceManager().beginNodeWriteTrx()) {
DocumentCreater.create(wtx);
assertEquals(1L, wtx.getRevisionNumber());
wtx.commit();
}
try (final XdmNodeReadTrx rtx = holder.getResourceManager().beginNodeReadTrx()) {
assertEquals(1L, rtx.getRevisionNumber());
rtx.moveTo(12L);
assertEquals("bar", rtx.getValue());
try (final XdmNodeWriteTrx wtx = holder.getResourceManager().beginNodeWriteTrx()) {
assertEquals(2L, wtx.getRevisionNumber());
wtx.moveTo(12L);
wtx.setValue("bar2");
assertEquals("bar", rtx.getValue());
assertEquals("bar2", wtx.getValue());
wtx.rollback();
}
}
try (final XdmNodeReadTrx rtx = holder.getResourceManager().beginNodeReadTrx()) {
assertEquals(1L, rtx.getRevisionNumber());
rtx.moveTo(12L);
assertEquals("bar", rtx.getValue());
}
}
use of org.sirix.api.XdmNodeReadTrx in project sirix by sirixdb.
the class XdmResourceManagerTest method testExisting.
@Test
public void testExisting() {
final Database database = TestHelper.getDatabase(PATHS.PATH1.getFile());
final ResourceManager resource = database.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build());
final XdmNodeWriteTrx wtx1 = resource.beginNodeWriteTrx();
DocumentCreater.create(wtx1);
assertEquals(1L, wtx1.getRevisionNumber());
wtx1.commit();
wtx1.close();
resource.close();
final ResourceManager resource2 = database.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build());
final XdmNodeReadTrx rtx1 = resource2.beginNodeReadTrx();
assertEquals(1L, rtx1.getRevisionNumber());
rtx1.moveTo(12L);
assertEquals("bar", rtx1.getValue());
final XdmNodeWriteTrx wtx2 = resource2.beginNodeWriteTrx();
assertEquals(2L, wtx2.getRevisionNumber());
wtx2.moveTo(12L);
wtx2.setValue("bar2");
assertEquals("bar", rtx1.getValue());
assertEquals("bar2", wtx2.getValue());
rtx1.close();
wtx2.commit();
wtx2.close();
final Database database2 = TestHelper.getDatabase(PATHS.PATH1.getFile());
final ResourceManager resource3 = database2.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build());
final XdmNodeReadTrx rtx2 = resource3.beginNodeReadTrx();
assertEquals(2L, rtx2.getRevisionNumber());
rtx2.moveTo(12L);
assertEquals("bar2", rtx2.getValue());
rtx2.close();
resource3.close();
}
use of org.sirix.api.XdmNodeReadTrx in project sirix by sirixdb.
the class DescendantAxisTest method testIterateIncludingSelf.
@Test
public void testIterateIncludingSelf() throws SirixException {
final XdmNodeReadTrx rtx = holder.getReader();
rtx.moveToDocumentRoot();
AbsAxisTest.testIAxisConventions(new DescendantAxis(rtx, IncludeSelf.YES), new long[] { Fixed.DOCUMENT_NODE_KEY.getStandardProperty(), 1L, 4L, 5L, 6L, 7L, 8L, 9L, 11L, 12L, 13L });
new IteratorTester<Long>(ITERATIONS, IteratorFeature.UNMODIFIABLE, ImmutableList.of(Fixed.DOCUMENT_NODE_KEY.getStandardProperty(), 1L, 4L, 5L, 6L, 7L, 8L, 9L, 11L, 12L, 13L), null) {
@Override
protected Iterator<Long> newTargetIterator() {
final XdmNodeReadTrx rtx = holder.getReader();
rtx.moveToDocumentRoot();
return new DescendantAxis(rtx, IncludeSelf.YES);
}
}.test();
rtx.moveTo(1L);
AbsAxisTest.testIAxisConventions(new DescendantAxis(rtx, IncludeSelf.YES), new long[] { 1L, 4L, 5L, 6L, 7L, 8L, 9L, 11L, 12L, 13L });
new IteratorTester<Long>(ITERATIONS, IteratorFeature.UNMODIFIABLE, ImmutableList.of(1L, 4L, 5L, 6L, 7L, 8L, 9L, 11L, 12L, 13L), null) {
@Override
protected Iterator<Long> newTargetIterator() {
final XdmNodeReadTrx rtx = holder.getReader();
rtx.moveTo(1L);
return new DescendantAxis(rtx, IncludeSelf.YES);
}
}.test();
rtx.moveTo(9L);
AbsAxisTest.testIAxisConventions(new DescendantAxis(rtx, IncludeSelf.YES), new long[] { 9L, 11L, 12L });
new IteratorTester<Long>(ITERATIONS, IteratorFeature.UNMODIFIABLE, ImmutableList.of(9L, 11L, 12L), null) {
@Override
protected Iterator<Long> newTargetIterator() {
final XdmNodeReadTrx rtx = holder.getReader();
rtx.moveTo(9L);
return new DescendantAxis(rtx, IncludeSelf.YES);
}
}.test();
rtx.moveTo(13L);
AbsAxisTest.testIAxisConventions(new DescendantAxis(rtx, IncludeSelf.YES), new long[] { 13L });
new IteratorTester<Long>(ITERATIONS, IteratorFeature.UNMODIFIABLE, ImmutableList.of(13L), null) {
@Override
protected Iterator<Long> newTargetIterator() {
final XdmNodeReadTrx rtx = holder.getReader();
rtx.moveTo(13L);
return new DescendantAxis(rtx, IncludeSelf.YES);
}
}.test();
}
use of org.sirix.api.XdmNodeReadTrx in project sirix by sirixdb.
the class FollowingAxisTest method testAxisConventions.
@Test
public void testAxisConventions() throws SirixException {
final XdmNodeReadTrx rtx = holder.getReader();
rtx.moveTo(11L);
AbsAxisTest.testIAxisConventions(new FollowingAxis(rtx), new long[] { 12L, 13L });
rtx.moveTo(5L);
AbsAxisTest.testIAxisConventions(new FollowingAxis(rtx), new long[] { 8L, 9L, 11L, 12L, 13L });
rtx.moveTo(13L);
AbsAxisTest.testIAxisConventions(new FollowingAxis(rtx), new long[] {});
rtx.moveTo(1L);
AbsAxisTest.testIAxisConventions(new FollowingAxis(rtx), new long[] {});
rtx.moveToDocumentRoot();
AbsAxisTest.testIAxisConventions(new FollowingAxis(rtx), new long[] {});
rtx.moveTo(9L);
rtx.moveToAttribute(0);
AbsAxisTest.testIAxisConventions(new FollowingAxis(rtx), new long[] {});
}
Aggregations