You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2013/02/01 13:16:56 UTC
svn commit: r1441418 -
/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java
Author: rmuir
Date: Fri Feb 1 12:16:56 2013
New Revision: 1441418
URL: http://svn.apache.org/viewvc?rev=1441418&view=rev
Log:
clear nocommit
Modified:
lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java
Modified: lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java?rev=1441418&r1=1441417&r2=1441418&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java Fri Feb 1 12:16:56 2013
@@ -1,14 +1,9 @@
package org.apache.lucene.util;
-import java.io.EOFException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.store.RAMDirectory;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with this
@@ -27,46 +22,30 @@ import org.apache.lucene.store.RAMDirect
*/
public class TestByteBlockPool extends LuceneTestCase {
- /* nocommit: test this in some other way than dumping out
- public void testCopyRefAndWrite() throws IOException {
+ public void testReadAndWrite() throws IOException {
Counter bytesUsed = Counter.newCounter();
ByteBlockPool pool = new ByteBlockPool(new ByteBlockPool.DirectTrackingAllocator(bytesUsed));
pool.nextBuffer();
boolean reuseFirst = random().nextBoolean();
for (int j = 0; j < 2; j++) {
- List<String> list = new ArrayList<String>();
+ List<BytesRef> list = new ArrayList<BytesRef>();
int maxLength = atLeast(500);
final int numValues = atLeast(100);
BytesRef ref = new BytesRef();
for (int i = 0; i < numValues; i++) {
final String value = _TestUtil.randomRealisticUnicodeString(random(),
maxLength);
- list.add(value);
+ list.add(new BytesRef(value));
ref.copyChars(value);
- pool.copy(ref);
- }
- RAMDirectory dir = new RAMDirectory();
- IndexOutput stream = dir.createOutput("foo.txt", newIOContext(random()));
- pool.writePool(stream);
- stream.flush();
- stream.close();
- IndexInput input = dir.openInput("foo.txt", newIOContext(random()));
- assertEquals(pool.byteOffset + pool.byteUpto, stream.length());
- BytesRef expected = new BytesRef();
- BytesRef actual = new BytesRef();
- for (String string : list) {
- expected.copyChars(string);
- actual.grow(expected.length);
- actual.length = expected.length;
- input.readBytes(actual.bytes, 0, actual.length);
- assertEquals(expected, actual);
+ pool.append(ref);
}
- try {
- input.readByte();
- fail("must be EOF");
- } catch (EOFException e) {
- // expected - read past EOF
+ // verify
+ long position = 0;
+ for (BytesRef expected : list) {
+ pool.readBytes(ref, position, expected.length);
+ assertEquals(expected, ref);
+ position += ref.length;
}
pool.reset(random().nextBoolean(), reuseFirst);
if (reuseFirst) {
@@ -75,7 +54,6 @@ public class TestByteBlockPool extends L
assertEquals(0, bytesUsed.get());
pool.nextBuffer(); // prepare for next iter
}
- dir.close();
}
- } */
+ }
}