Clover coverage report -
Coverage timestamp: Wed Jan 31 2007 15:38:53 EST
file stats: LOC: 99   Methods: 8
NCLOC: 71   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
CacheLoaderMethodCallCounterTest.java 66.7% 94.3% 87.5% 89.8%
coverage coverage
 1    /*
 2    * JBoss, Home of Professional Open Source
 3    *
 4    * Distributable under LGPL license.
 5    * See terms of license at gnu.org.
 6    */
 7    package org.jboss.cache.loader;
 8   
 9    import junit.textui.TestRunner;
 10    import org.jboss.cache.CacheImpl;
 11    import org.jboss.cache.DefaultCacheFactory;
 12   
 13    /**
 14    * A simple non-failing unit test to measure how many times each method on a cache loader is called.
 15    *
 16    * @author <a href="mailto:manik@jboss.org">Manik Surtani (manik@jboss.org)</a>
 17    */
 18    public class CacheLoaderMethodCallCounterTest extends AbstractCacheLoaderTestBase
 19    {
 20    private CacheImpl cache;
 21    private DummyCacheLoader dummyLoader;
 22   
 23  0 public static void main(String[] args)
 24    {
 25  0 TestRunner.run(CacheLoaderMethodCallCounterTest.class);
 26    }
 27   
 28  4 protected void setUp() throws Exception
 29    {
 30  0 if (cache != null) tearDown();
 31  4 cache = (CacheImpl) DefaultCacheFactory.getInstance().createCache(false);
 32  4 cache.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", DummyCacheLoader.class.getName(), "", false, false, false));
 33  4 cache.start();
 34  4 dummyLoader = (DummyCacheLoader) cache.getCacheLoaderManager().getCacheLoader();
 35    }
 36   
 37  4 protected void tearDown()
 38    {
 39  4 if (cache != null)
 40    {
 41  4 cache.stop();
 42    }
 43  4 cache.destroy();
 44  4 cache = null;
 45    }
 46   
 47   
 48  1 public void testPut() throws Exception
 49    {
 50  1 cache.put("/node", "key", "value");
 51  1 printReport("putKeyValue", dummyLoader);
 52    }
 53   
 54  1 public void testGet() throws Exception
 55    {
 56  1 cache.get("/node", "key");
 57  1 printReport("getKey", dummyLoader);
 58    }
 59   
 60  1 public void testRemove() throws Exception
 61    {
 62  1 cache.remove("/node", "key");
 63  1 printReport("removeKey", dummyLoader);
 64    }
 65   
 66  3 private void printReport(String test, DummyCacheLoader d)
 67    {
 68  3 System.out.println("------------------------------");
 69  3 System.out.println(" Test name: " + test);
 70  3 System.out.println(" cache loader stats:");
 71  3 System.out.println(" put count: " + d.getPutCount());
 72  3 System.out.println(" get count: " + d.getGetCount());
 73  3 System.out.println(" exists count: " + d.getExistsCount());
 74  3 System.out.println(" remove count: " + d.getRemoveCount());
 75  3 System.out.println(" getChildrenNames count: " + d.getGetChildrenNamesCount());
 76  3 System.out.println("------------------------------");
 77    }
 78   
 79  1 public void testLoopedGets() throws Exception
 80    {
 81    // put an object in cache
 82  1 cache.put("/test", "key", "value");
 83   
 84    // we should see this put in the cl
 85  1 assertEquals(1, dummyLoader.getPutCount());
 86    // the cloader interceptor does a get as well when doing the put ... ?
 87  1 assertEquals(0, dummyLoader.getGetCount());
 88   
 89  1 for (int i = 0; i < 2000; i++)
 90    {
 91  2000 cache.get("/test");
 92    }
 93   
 94  1 assertEquals(1, dummyLoader.getPutCount());
 95  1 assertEquals(1, dummyLoader.getGetCount());
 96  1 assertEquals(0, dummyLoader.getRemoveCount());
 97  1 assertEquals(0, dummyLoader.getExistsCount());
 98    }
 99    }