Search in sources :

Example 31 with PageCursor

use of org.neo4j.io.pagecache.PageCursor in project neo4j by neo4j.

the class CompositePageCursorTest method putByteBeyondEndOfViewMustRaiseBoundsFlag.

@Test
public void putByteBeyondEndOfViewMustRaiseBoundsFlag() throws Exception {
    PageCursor pageCursor = CompositePageCursor.compose(first, PAGE_SIZE, second, PAGE_SIZE);
    for (int i = 0; i < 3 * PAGE_SIZE; i++) {
        pageCursor.putByte((byte) 1);
    }
    assertTrue(pageCursor.checkAndClearBoundsFlag());
    assertFalse(pageCursor.checkAndClearBoundsFlag());
}
Also used : PageCursor(org.neo4j.io.pagecache.PageCursor) StubPageCursor(org.neo4j.io.pagecache.StubPageCursor) Test(org.junit.Test)

Example 32 with PageCursor

use of org.neo4j.io.pagecache.PageCursor in project neo4j by neo4j.

the class CompositePageCursorTest method checkAndClearCursorErrorMustNotThrowIfNoErrorsAreSet.

@Test
public void checkAndClearCursorErrorMustNotThrowIfNoErrorsAreSet() throws Exception {
    PageCursor cursor = CompositePageCursor.compose(first, PAGE_SIZE, second, PAGE_SIZE);
    cursor.checkAndClearCursorException();
}
Also used : PageCursor(org.neo4j.io.pagecache.PageCursor) StubPageCursor(org.neo4j.io.pagecache.StubPageCursor) Test(org.junit.Test)

Example 33 with PageCursor

use of org.neo4j.io.pagecache.PageCursor in project neo4j by neo4j.

the class CompositePageCursorTest method getBytesMustRespectOffsetIntoSecondCursor.

@Test
public void getBytesMustRespectOffsetIntoSecondCursor() throws Exception {
    second.setOffset(1);
    PageCursor c = CompositePageCursor.compose(first, 4, second, 4);
    c.getBytes(bytes);
    assertThat(bytes, byteArray(0xA0, 0xA1, 0xA2, 0xA3));
    c.getBytes(bytes);
    assertThat(bytes, byteArray(0xB1, 0xB2, 0xB3, 0xB4));
    assertFalse(c.checkAndClearBoundsFlag());
}
Also used : PageCursor(org.neo4j.io.pagecache.PageCursor) StubPageCursor(org.neo4j.io.pagecache.StubPageCursor) Test(org.junit.Test)

Example 34 with PageCursor

use of org.neo4j.io.pagecache.PageCursor in project neo4j by neo4j.

the class CompositePageCursorTest method putBytesMustRespectOffsetIntoSecondCursor.

@Test
public void putBytesMustRespectOffsetIntoSecondCursor() throws Exception {
    second.setOffset(1);
    PageCursor c = CompositePageCursor.compose(first, 1, second, 8);
    c.putBytes(new byte[] { 1 });
    c.putBytes(new byte[] { 2 });
    second.setOffset(1);
    second.getBytes(bytes);
    assertThat(Arrays.copyOfRange(bytes, 0, 1), byteArray(2));
    c.getBytes(bytes);
    assertThat(bytes, byteArray(0xB5, 0xB6, 0xB7, 0xB8));
    assertFalse(c.checkAndClearBoundsFlag());
}
Also used : PageCursor(org.neo4j.io.pagecache.PageCursor) StubPageCursor(org.neo4j.io.pagecache.StubPageCursor) Test(org.junit.Test)

Example 35 with PageCursor

use of org.neo4j.io.pagecache.PageCursor in project neo4j by neo4j.

the class CompositePageCursorTest method putByteOffsettedBeyondEndOfViewMustRaiseBoundsFlag.

@Test
public void putByteOffsettedBeyondEndOfViewMustRaiseBoundsFlag() throws Exception {
    PageCursor pageCursor = CompositePageCursor.compose(first, PAGE_SIZE, second, PAGE_SIZE);
    for (int i = 0; i < 3 * PAGE_SIZE; i++) {
        pageCursor.putByte(i, (byte) 1);
    }
    assertTrue(pageCursor.checkAndClearBoundsFlag());
    assertFalse(pageCursor.checkAndClearBoundsFlag());
}
Also used : PageCursor(org.neo4j.io.pagecache.PageCursor) StubPageCursor(org.neo4j.io.pagecache.StubPageCursor) Test(org.junit.Test)

Aggregations

PageCursor (org.neo4j.io.pagecache.PageCursor)184 Test (org.junit.Test)124 StubPageCursor (org.neo4j.io.pagecache.StubPageCursor)106 PagedFile (org.neo4j.io.pagecache.PagedFile)19 IOException (java.io.IOException)12 File (java.io.File)8 CursorException (org.neo4j.io.pagecache.CursorException)6 PageCacheTest (org.neo4j.io.pagecache.PageCacheTest)6 CompositePageCursor (org.neo4j.io.pagecache.impl.CompositePageCursor)6 DelegatingPageCursor (org.neo4j.io.pagecache.impl.DelegatingPageCursor)6 ByteBuffer (java.nio.ByteBuffer)5 DelegatingStoreChannel (org.neo4j.graphdb.mockfs.DelegatingStoreChannel)5 StoreChannel (org.neo4j.io.fs.StoreChannel)4 DelegatingPagedFile (org.neo4j.io.pagecache.DelegatingPagedFile)4 ConfigurablePageCursorTracerSupplier (org.neo4j.io.pagecache.tracing.ConfigurablePageCursorTracerSupplier)4 RecordingPageCacheTracer (org.neo4j.io.pagecache.tracing.recording.RecordingPageCacheTracer)4 Evict (org.neo4j.io.pagecache.tracing.recording.RecordingPageCacheTracer.Evict)4 RecordingPageCursorTracer (org.neo4j.io.pagecache.tracing.recording.RecordingPageCursorTracer)4 Fault (org.neo4j.io.pagecache.tracing.recording.RecordingPageCursorTracer.Fault)4 AtomicLong (java.util.concurrent.atomic.AtomicLong)3