package com.cache2.helper;
import java.util.Set;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.cache2.domain.CachedValue;
import com.cache2.domain.Entity;
import com.cache2.key.Cache1Key;
import com.cache2.key.Cache2Key;
import com.cache2.util.CacheUtil;
public class TestCache2Helper {
private Cache1Helper cache1Helper;
private Cache2Helper cache2Helper;
@Before
public void before() {
cache1Helper = new Cache1Helper();
cache2Helper = new Cache2Helper();
}
@Test
public void testPutGetAndRemove() throws Exception {
final Cache1Key cache1Key = CacheUtil.createCache1Key(this.getClass(),
"testMethod", null, null);
cache1Helper.put(cache1Key, new CachedValue<Void>(null));
final Entity entity = new Entity();
entity.setId(1);
final Cache2Key cache2Key = CacheUtil.createCache2Key(
entity.getClass(), entity.getId());
cache2Helper.put(cache2Key, cache1Key);
Set<Cache1Key> cache1Keys = cache2Helper.get(cache2Key);
Assert.assertNotNull(cache1Keys);
for (Cache1Key key : cache1Keys) {
Assert.assertNotNull(cache1Helper.get(key));
}
}
}