From 10fa1167dc07c1cb4d5d3fbbe2185cd6055c70db Mon Sep 17 00:00:00 2001 From: Robert Muir Date: Fri, 1 Feb 2013 12:16:56 +0000 Subject: [PATCH] clear nocommit git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene4547@1441418 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/lucene/util/TestByteBlockPool.java | 44 +++++-------------- 1 file changed, 11 insertions(+), 33 deletions(-) diff --git a/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java b/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java index 15d46044b95..0ad2598170d 100644 --- a/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java +++ b/lucene/core/src/test/org/apache/lucene/util/TestByteBlockPool.java @@ -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.RAMDirectory; */ 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 list = new ArrayList(); + List list = new ArrayList(); 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); + pool.append(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); - } - 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 LuceneTestCase { assertEquals(0, bytesUsed.get()); pool.nextBuffer(); // prepare for next iter } - dir.close(); } - } */ + } }