From b488ba7d0ac50ca02acee9d4fa973ecf28c86512 Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Mon, 7 Apr 2008 00:58:24 +0000 Subject: MergeSortBuffer optionally accepts a Storage now. --- .../carbonado/cursor/TestMergeSortBuffer.java | 55 +++++++++++++++++----- 1 file changed, 43 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/test/java/com/amazon/carbonado/cursor/TestMergeSortBuffer.java b/src/test/java/com/amazon/carbonado/cursor/TestMergeSortBuffer.java index 59119ec..dd7fff8 100644 --- a/src/test/java/com/amazon/carbonado/cursor/TestMergeSortBuffer.java +++ b/src/test/java/com/amazon/carbonado/cursor/TestMergeSortBuffer.java @@ -72,7 +72,14 @@ public class TestMergeSortBuffer extends TestCase { } public void testEmptyBuffer() throws Exception { - Storage storage = mRepository.storageFor(StorableTestBasic.class); + testEmptyBuffer(mRepository.storageFor(StorableTestBasic.class)); + } + + public void testEmptyBufferAutoStorage() throws Exception { + testEmptyBuffer(null); + } + + private void testEmptyBuffer(Storage storage) throws Exception { SortBuffer buffer = new MergeSortBuffer(storage); buffer.prepare(mComparator); @@ -98,38 +105,59 @@ public class TestMergeSortBuffer extends TestCase { } public void testSmallBuffer() throws Exception { - testBuffer(SMALL_BUFFER_SIZE); + testBuffer(mRepository.storageFor(StorableTestBasic.class), SMALL_BUFFER_SIZE); + } + + public void testSmallBufferAutoStorage() throws Exception { + testBuffer(null, SMALL_BUFFER_SIZE); } public void testMedium() throws Exception { - testBuffer(MEDIUM_BUFFER_SIZE); + testBuffer(mRepository.storageFor(StorableTestBasic.class), MEDIUM_BUFFER_SIZE); + } + + public void testMediumAutoStorage() throws Exception { + testBuffer(null, MEDIUM_BUFFER_SIZE); } public void testMediumOdd() throws Exception { - testBuffer(MEDIUM_BUFFER_SIZE + 13); + testBuffer(mRepository.storageFor(StorableTestBasic.class), MEDIUM_BUFFER_SIZE + 13); + } + + public void testMediumOddAutoStorage() throws Exception { + testBuffer(null, MEDIUM_BUFFER_SIZE + 13); } public void testLarge() throws Exception { - testBuffer(LARGE_BUFFER_SIZE); + testBuffer(mRepository.storageFor(StorableTestBasic.class), LARGE_BUFFER_SIZE); + } + + public void testLargeAutoStorage() throws Exception { + testBuffer(null, LARGE_BUFFER_SIZE); } public void testLargeOdd() throws Exception { - testBuffer(LARGE_BUFFER_SIZE + 13); + testBuffer(mRepository.storageFor(StorableTestBasic.class), LARGE_BUFFER_SIZE + 13); } - public void testHuge() throws Exception { - testBuffer(HUGE_BUFFER_SIZE); + public void testLargeOddAutoStorage() throws Exception { + testBuffer(null, LARGE_BUFFER_SIZE + 13); + } + + public void testHugeAutoStorage() throws Exception { + testBuffer(null, HUGE_BUFFER_SIZE); } public void testLobs() throws Exception { Comparator c = BeanComparator.forClass(StorableWithLobs.class) .orderBy("-id"); - Storage storage = mRepository.storageFor(StorableWithLobs.class); SortBuffer buffer = - new MergeSortBuffer(storage, null, 100); + new MergeSortBuffer(null, null, 100); buffer.prepare(c); + Storage storage = mRepository.storageFor(StorableWithLobs.class); + for (int i=0; i<5000; i++) { StorableWithLobs s = storage.prepare(); s.setBlobValue(new ByteArrayBlob(("hello " + i).getBytes())); @@ -151,11 +179,14 @@ public class TestMergeSortBuffer extends TestCase { buffer.close(); } - private void testBuffer(int size) throws Exception { - Storage storage = mRepository.storageFor(StorableTestBasic.class); + private void testBuffer(Storage storage, int size) throws Exception { SortBuffer buffer = new MergeSortBuffer(storage); buffer.prepare(mComparator); + if (storage == null) { + storage = mRepository.storageFor(StorableTestBasic.class); + } + final long seed = 345891237L; Random rnd = new Random(seed); -- cgit v1.2.3