package org.simpleframework.common.buffer; import java.io.File; import java.io.IOException; import java.io.InputStream; import org.simpleframework.common.buffer.Buffer; import org.simpleframework.common.buffer.FileBuffer; import junit.framework.TestCase; public class FileBufferTest extends TestCase { public void testFileBuffer() throws Exception { File tempFile = File.createTempFile(FileBufferTest.class.getSimpleName(), null); Buffer buffer = new FileBuffer(tempFile); buffer.append("abcdefghijklmnopqrstuvwxyz".getBytes()); Buffer alphabet = buffer.allocate(); alphabet.append("ABCDEFGHIJKLMNOPQRSTUVWXYZ".getBytes()); Buffer digits = buffer.allocate(); digits.append("0123456789".getBytes()); expect(buffer, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".getBytes()); expect(alphabet, "ABCDEFGHIJKLMNOPQRSTUVWXYZ".getBytes()); expect(digits, "0123456789".getBytes()); } private void expect(Buffer buffer, byte[] expect) throws IOException { InputStream result = buffer.open(); for(int i =0; i < expect.length; i++) { byte octet = expect[i]; int value = result.read(); if(value < 0) { throw new IOException("Buffer exhausted too early"); } assertEquals(octet, (byte)value); } assertEquals(-1, result.read()); } }