import org.junit.Assert; import org.junit.Test; import org.junit.BeforeClass; import jelectrum.EventLog; import java.io.File; import slopbucket.Slopbucket; import com.google.protobuf.ByteString; public class SlopbucketTest { private static Slopbucket slop; @BeforeClass public static void load() throws Exception { File f = new File("/var/ssd/clash/slop"); f.mkdirs(); new File("/var/ssd/clash/slop/data_0000").delete(); new File("/var/ssd/clash/slop/data_0001").delete(); new File("/var/ssd/clash/slop/data_0002").delete(); new File("/var/ssd/clash/slop/data_0003").delete(); new File("/var/ssd/clash/slop/data_0004").delete(); new File("/var/ssd/clash/slop/data_0005").delete(); new File("/var/ssd/clash/slop/data_0006").delete(); new File("/var/ssd/clash/slop/data_0007").delete(); new File("/var/ssd/clash/slop/data_0008").delete(); slop=new Slopbucket(f, new EventLog(System.out)); } @Test public void testTroughs() { Assert.assertEquals(1, slop.getTroughMap().size()); slop.addTrough("test"); Assert.assertEquals(2, slop.getTroughMap().size()); slop.addTrough("test"); Assert.assertEquals(2, slop.getTroughMap().size()); slop.addTrough("zoinks"); Assert.assertEquals(3, slop.getTroughMap().size()); System.out.println(slop.getTroughMap()); } @Test public void testPut() { slop.addTrough("put"); for(int i=0; i<1000000; i++) { slop.putKeyValue("put", TestUtil.randomByteString(), TestUtil.randomByteString()); } } @Test public void testPutGet() { slop.addTrough("put"); ByteString key = TestUtil.randomByteString(); ByteString data_0 = TestUtil.randomByteString(); ByteString data_1 = TestUtil.randomByteString(); Assert.assertNull(slop.getKeyValue("put", key)); slop.putKeyValue("put", key, data_0); Assert.assertEquals(data_0, slop.getKeyValue("put", key)); slop.putKeyValue("put", key, data_1); Assert.assertEquals(data_1, slop.getKeyValue("put", key)); } }