You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by th...@apache.org on 2011/07/27 11:47:25 UTC
svn commit: r1151403 -
/jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/DataStoreTest.java
Author: thomasm
Date: Wed Jul 27 09:47:24 2011
New Revision: 1151403
URL: http://svn.apache.org/viewvc?rev=1151403&view=rev
Log:
Improved data store test.
Modified:
jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/DataStoreTest.java
Modified: jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/DataStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/DataStoreTest.java?rev=1151403&r1=1151402&r2=1151403&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/DataStoreTest.java (original)
+++ jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/DataStoreTest.java Wed Jul 27 09:47:24 2011
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.mk;
import java.io.ByteArrayInputStream;
+import java.util.Random;
import junit.framework.TestCase;
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.mk.util.MicroKernelInputStream;
@@ -26,8 +27,8 @@ import org.apache.jackrabbit.mk.util.Mic
*/
public class DataStoreTest extends TestCase {
- // private static final String URL = "fs:{homeDir};clean";
- private static final String URL = "mem:";
+ private static final String URL = "fs:{homeDir};clean";
+ // private static final String URL = "mem:";
private MicroKernel mk;
@@ -39,17 +40,34 @@ public class DataStoreTest extends TestC
mk.dispose();
}
- public void test() {
- int len = 100;
- String[] s = new String[len];
- for (int i = 0; i < len; i++) {
- s[i] = mk.write(new ByteArrayInputStream(new byte[i]));
- s[i] = mk.write(new ByteArrayInputStream(new byte[i]));
+ public void testSmall() {
+ doTest(100, 1000);
+ }
+
+ public void testLarge() {
+ doTest(100000, 10);
+ }
+
+ private void doTest(int maxLength, int count) {
+ String[] s = new String[count];
+ Random r = new Random(0);
+ for (int i = 0; i < count;) {
+ byte[] data = new byte[r.nextInt(maxLength)];
+ r.nextBytes(data);
+ s[i++] = mk.write(new ByteArrayInputStream(data));
+ s[i++] = mk.write(new ByteArrayInputStream(data));
}
- for (int i = 0; i < len; i++) {
- assertEquals(i, mk.getLength(s[i]));
- byte[] b = MicroKernelInputStream.readFully(mk, s[i]);
- assertEquals(i, b.length);
+ r.setSeed(0);
+ for (int i = 0; i < count;) {
+ int expectedLen = r.nextInt(maxLength);
+ byte[] expectedData = new byte[expectedLen];
+ r.nextBytes(expectedData);
+ assertEquals(expectedLen, mk.getLength(s[i++]));
+ byte[] b = MicroKernelInputStream.readFully(mk, s[i++]);
+ assertEquals(expectedLen, b.length);
+ for (int j = 0; j < expectedData.length; j++) {
+ assertEquals(expectedData[j], b[j]);
+ }
}
}