| package org.apache.asyncweb.fileservice.fileloader; |
| |
| import static org.junit.Assert.assertTrue; |
| |
| import java.io.File; |
| import java.io.FileOutputStream; |
| import java.util.Random; |
| |
| import org.apache.asyncweb.fileservice.fileloader.FileLoader; |
| import org.apache.asyncweb.fileservice.fileloader.MmapFileLoader; |
| import org.apache.mina.core.buffer.IoBuffer; |
| import org.junit.Test; |
| |
| public class MmapFileLoaderTest { |
| |
| private static final int TEMP_SIZE=1024*100+3; // ~100K file |
| |
| @Test |
| public void testLoadFile() throws Exception { |
| // generate temp file |
| File tempFile=File.createTempFile("dummy",null); |
| tempFile.deleteOnExit(); |
| FileOutputStream fos=new FileOutputStream(tempFile); |
| Random rng=new Random(); |
| |
| byte[] data = new byte[TEMP_SIZE]; |
| rng.nextBytes(data); |
| fos.write(data); |
| fos.close(); |
| |
| FileLoader sfl=new MmapFileLoader(); |
| IoBuffer buffer=sfl.loadFile(tempFile); |
| |
| assertTrue(buffer.remaining()==TEMP_SIZE); |
| |
| for(int i=0;i<TEMP_SIZE;i++) { |
| assertTrue(data[i]==buffer.get()); |
| } |
| |
| buffer=sfl.loadFile(tempFile); |
| |
| assertTrue(buffer.remaining()==TEMP_SIZE); |
| |
| for(int i=0;i<TEMP_SIZE;i++) { |
| assertTrue(data[i]==buffer.get()); |
| } |
| } |
| } |