2008-11-22 10:30:33 -05:00
|
|
|
|
|
|
|
package net.sourceforge.tuned;
|
|
|
|
|
|
|
|
|
2009-05-17 13:22:44 -04:00
|
|
|
import static org.junit.Assert.*;
|
2008-11-22 10:30:33 -05:00
|
|
|
|
|
|
|
import java.io.ByteArrayInputStream;
|
|
|
|
import java.io.InputStream;
|
|
|
|
import java.nio.channels.Channels;
|
|
|
|
import java.nio.charset.Charset;
|
|
|
|
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
|
|
|
|
|
|
public class ByteBufferOutputStreamTest {
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void growBufferAsNeeded() throws Exception {
|
|
|
|
// initial buffer size of 1, increase size by a factor of 2 if a bigger buffer is needed
|
|
|
|
ByteBufferOutputStream buffer = new ByteBufferOutputStream(1, 1.0f);
|
|
|
|
|
|
|
|
buffer.write("asdf".getBytes("utf-8"));
|
|
|
|
|
|
|
|
// check content
|
|
|
|
assertEquals("asdf", Charset.forName("utf-8").decode(buffer.getByteBuffer()).toString());
|
|
|
|
|
|
|
|
// check capacity
|
|
|
|
assertEquals(4, buffer.capacity());
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void transferFrom() throws Exception {
|
|
|
|
InputStream in = new ByteArrayInputStream("asdf".getBytes("utf-8"));
|
|
|
|
|
|
|
|
ByteBufferOutputStream buffer = new ByteBufferOutputStream(4);
|
|
|
|
|
|
|
|
int n = buffer.transferFrom(Channels.newChannel(in));
|
|
|
|
|
|
|
|
// check number of bytes transfered
|
|
|
|
assertEquals(4, n);
|
|
|
|
|
|
|
|
// check content
|
|
|
|
assertEquals("asdf", Charset.forName("utf-8").decode(buffer.getByteBuffer()).toString());
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|