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();
     }
-  } */
+  } 
 }