@Test public void testCompareBytesMixedSegments() { MemorySegment[] segs1 = { new HeapMemorySegment(new byte[pageSize]), new HybridMemorySegment(new byte[pageSize]), new HybridMemorySegment(ByteBuffer.allocateDirect(pageSize)) }; MemorySegment[] segs2 = { new HeapMemorySegment(new byte[pageSize]), new HybridMemorySegment(new byte[pageSize]), new HybridMemorySegment(ByteBuffer.allocateDirect(pageSize)) }; Random rnd = new Random(); for (MemorySegment seg1 : segs1) { for (MemorySegment seg2 : segs2) { testCompare(seg1, seg2, rnd); } } }
@Test public void testCopyMixedSegments() { MemorySegment[] segs1 = { new HeapMemorySegment(new byte[pageSize]), new HybridMemorySegment(new byte[pageSize]), new HybridMemorySegment(ByteBuffer.allocateDirect(pageSize)) }; MemorySegment[] segs2 = { new HeapMemorySegment(new byte[pageSize]), new HybridMemorySegment(new byte[pageSize]), new HybridMemorySegment(ByteBuffer.allocateDirect(pageSize)) }; Random rnd = new Random(); for (MemorySegment seg1 : segs1) { for (MemorySegment seg2 : segs2) { testCopy(seg1, seg2, rnd); } } }
@Test public void testSwapBytesMixedSegments() { final int halfPageSize = pageSize / 2; MemorySegment[] segs1 = { new HeapMemorySegment(new byte[pageSize]), new HybridMemorySegment(new byte[pageSize]), new HybridMemorySegment(ByteBuffer.allocateDirect(pageSize)) }; MemorySegment[] segs2 = { new HeapMemorySegment(new byte[halfPageSize]), new HybridMemorySegment(new byte[halfPageSize]), new HybridMemorySegment(ByteBuffer.allocateDirect(halfPageSize)) }; Random rnd = new Random(); for (MemorySegment seg1 : segs1) { for (MemorySegment seg2 : segs2) { testSwap(seg1, seg2, rnd, halfPageSize); } } }