01: package junit.api;
02:
03: import static org.junit.Assert.assertEquals;
04: import static org.junit.Assert.assertTrue;
05: import org.junit.Before;
06: import org.junit.Test;
07:
08: import javax.cache.CacheEntry;
09:
10: /**
11: * Simple test that ensures valid return values for the {@link javax.cache.CacheEntry} interface.
12: *
13: * @author <a href="mailto:manik@jboss.org">Manik Surtani</a>
14: */
15: public class CacheEntryTest extends CacheAPITestBase {
16: private CacheEntry entry;
17: private long testStartedTime;
18:
19: @Before
20: public void setData() {
21: testStartedTime = System.currentTimeMillis();
22: cache.put(key, value);
23: entry = cache.getCacheEntry(key);
24: }
25:
26: @Test
27: public void keyAndValue() {
28: assertEquals("Testing CacheEntry.getKey()", key, entry.getKey());
29: assertEquals("Testing CacheEntry.getValue()", value, entry
30: .getValue());
31: }
32:
33: @Test
34: public void hits() {
35: assertEquals("Testing number of hits", 0, entry.getHits());
36: assertEquals("Value [" + value
37: + "] should be bound under key [" + key + "]", value,
38: cache.get(key));
39: assertEquals("Testing number of hits", 1, entry.getHits());
40: }
41:
42: @Test
43: public void validity() {
44: // under what conditions would a cache entry be invalid?1?
45: assertTrue("Should be valid", entry.isValid());
46: }
47:
48: @Test
49: public void times() {
50: assertTrue("Entry should have been created in the past!",
51: System.currentTimeMillis() > entry.getCreationTime());
52: assertTrue(
53: "Entry should have been created after the cache was created!",
54: entry.getCreationTime() > testStartedTime);
55: long lastAccessed = entry.getLastAccessTime();
56: assertEquals("Value [" + value
57: + "] should be bound under key [" + key + "]", value,
58: cache.get(key));
59: assertTrue("lastAccessTime should have been updated",
60: lastAccessed < entry.getLastAccessTime());
61: assertEquals("Cache.put() should return old value", value,
62: cache.put(key, value + "2"));
63: assertTrue("lastAccessTime should have been updated",
64: lastAccessed < entry.getLastAccessTime());
65: assertTrue("lastUpdateTime should have been updated",
66: lastAccessed < entry.getLastUpdateTime());
67: }
68: }
|