package com.datascience.datastoring.storages; import com.datascience.datastoring.datamodels.full.MemoryJobStorage; import com.datascience.datastoring.jobs.IJobStorage; import com.datascience.datastoring.jobs.Job; import java.util.concurrent.TimeUnit; import org.junit.Test; /** * * @author konrad */ public class CachedWithRegularDumpJobStorageTest extends CachedJobStorageTest { protected IJobStorage internalStorage; public CachedWithRegularDumpJobStorageTest(){ timeout = 100; } @Override public IJobStorage getProxy(IJobStorage jobStorage){ internalStorage = jobStorage; return new CachedWithRegularDumpJobStorage(jobStorage, 2, 10, TimeUnit.SECONDS); } @Test public void lazyDumpingTest() throws Exception{ IJobStorage iStorage = new MemoryJobStorage(); IJobStorage eagerStorage = new CachedWithRegularDumpJobStorage(iStorage, 10, 1, TimeUnit.DAYS); Job job = jobs[4]; eagerStorage.add(job); Thread.sleep(200); assertNotIn(iStorage, 4); assertIn(eagerStorage, 4); } @Test public void noLazyDumpingTest() throws Exception{ IJobStorage iStorage = new MemoryJobStorage(); IJobStorage eagerStorage = new CachedWithRegularDumpJobStorage(iStorage, 10, 100, TimeUnit.NANOSECONDS); Job job = jobs[4]; eagerStorage.add(job); Thread.sleep(200); assertIn(iStorage, 4); assertIn(eagerStorage, 4); } }