public void testInterceptors() throws Exception
{
MockComponent mc = (MockComponent) ctx.getBean("mockComponent");
InvocationCountingCache cache = (InvocationCountingCache) ctx.getBean("systemCache");
assertNotNull(mc);
assertNotNull(cache);
assertNotNull(mc.getValue("2"));
assertEquals(1, cache.containsCount);
assertEquals(0, cache.getCount);
assertEquals(0, cache.successGetCount);
assertEquals(1, cache.putCount);
assertEquals(0, cache.removeCount);
assertNotNull(mc.getValue("2"));
assertEquals(2, cache.containsCount);
assertEquals(1, cache.getCount);
assertEquals(1, cache.successGetCount);
assertEquals(1, cache.putCount);
assertEquals(0, cache.removeCount);
mc.setValue("2", "some other value");
assertEquals(2, cache.containsCount);
assertEquals(1, cache.getCount);
assertEquals(1, cache.successGetCount);
assertEquals(1, cache.putCount);
assertEquals(1, cache.removeCount);
assertEquals("some other value", mc.getValue("2"));
assertEquals(3, cache.containsCount);
assertEquals(1, cache.getCount);
assertEquals(1, cache.successGetCount);
assertEquals(2, cache.putCount);
assertEquals(1, cache.removeCount);