public void fillPageDataTest() throws Exception { ODirectMemoryPointer pointerOne = new ODirectMemoryPointer(ODurablePage.MAX_PAGE_SIZE_BYTES + ODurablePage.PAGE_PADDING); OCachePointer cachePointerOne = new OCachePointer(pointerOne, new OLogSequenceNumber(0, 0)); cachePointerOne.incrementReferrer(); OCacheEntry cacheEntryOne = new OCacheEntry(0, 0, cachePointerOne, false); OSBTreeValuePage valuePageOne = new OSBTreeValuePage(cacheEntryOne, ODurablePage.TrackMode.NONE, true); byte[] data = new byte[ODurablePage.MAX_PAGE_SIZE_BYTES + 100]; Random random = new Random(); random.nextBytes(data); int offset = valuePageOne.fillBinaryContent(data, 0); Assert.assertEquals(offset, OSBTreeValuePage.MAX_BINARY_VALUE_SIZE); ODirectMemoryPointer pointerTwo = new ODirectMemoryPointer(ODurablePage.MAX_PAGE_SIZE_BYTES); OCachePointer cachePointerTwo = new OCachePointer(pointerTwo, new OLogSequenceNumber(0, 0)); cachePointerTwo.incrementReferrer(); OCacheEntry cacheEntryTwo = new OCacheEntry(0, 0, cachePointerTwo, false); OSBTreeValuePage valuePageTwo = new OSBTreeValuePage(cacheEntryTwo, ODurablePage.TrackMode.NONE, true); offset = valuePageTwo.fillBinaryContent(data, offset); Assert.assertEquals(offset, data.length); valuePageOne.setNextPage(100); Assert.assertEquals(valuePageOne.getNextPage(), 100); byte[] readData = new byte[data.length]; offset = valuePageOne.readBinaryContent(readData, 0); Assert.assertEquals(offset, OSBTreeValuePage.MAX_BINARY_VALUE_SIZE); offset = valuePageTwo.readBinaryContent(readData, offset); Assert.assertEquals(offset, data.length); Assert.assertEquals(data, readData); cachePointerOne.decrementReferrer(); cachePointerTwo.decrementReferrer(); }
public void testFreeListPointer() throws Exception { ODirectMemoryPointer pointer = new ODirectMemoryPointer(ODurablePage.MAX_PAGE_SIZE_BYTES + ODurablePage.PAGE_PADDING); OCachePointer cachePointer = new OCachePointer(pointer, new OLogSequenceNumber(0, 0)); cachePointer.incrementReferrer(); OCacheEntry cacheEntry = new OCacheEntry(0, 0, cachePointer, false); OSBTreeValuePage valuePage = new OSBTreeValuePage(cacheEntry, ODurablePage.TrackMode.NONE, true); valuePage.setNextFreeListPage(124); Assert.assertEquals(valuePage.getNextFreeListPage(), 124); cachePointer.decrementReferrer(); }