Clover coverage report -
Coverage timestamp: Wed Jan 31 2007 15:38:53 EST
file stats: LOC: 111   Methods: 9
NCLOC: 85   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
RegionTest.java 100% 95.3% 77.8% 92.6%
coverage coverage
 1    package org.jboss.cache.eviction;
 2   
 3    import junit.framework.Test;
 4    import junit.framework.TestCase;
 5    import junit.framework.TestSuite;
 6    import org.jboss.cache.Fqn;
 7    import org.jboss.cache.Region;
 8    import org.jboss.cache.RegionManager;
 9    import org.jboss.cache.config.EvictionConfig;
 10   
 11   
 12    /**
 13    * @author Ben Wang, Feb 11, 2004
 14    * @author Daniel Huang (dhuang@jboss.org)
 15    */
 16    public class RegionTest extends TestCase
 17    {
 18    RegionManager regionManager_;
 19    EvictionAlgorithm algorithm;
 20   
 21  3 public RegionTest(String s)
 22    {
 23  3 super(s);
 24    }
 25   
 26  3 public void setUp() throws Exception
 27    {
 28  3 super.setUp();
 29  3 algorithm = new LRUAlgorithm();
 30  3 regionManager_ = new RegionManager();
 31  3 regionManager_.getRegion("/a/b", true).setEvictionPolicy(new DummyEvictionConfiguration());
 32    }
 33   
 34  3 public void tearDown() throws Exception
 35    {
 36  3 super.tearDown();
 37    }
 38   
 39  1 public void testAddedQueue()
 40    {
 41  1 Fqn fqn1 = Fqn.fromString("/a/b/c");
 42  1 Fqn fqn2 = Fqn.fromString("/a/b/d");
 43  1 Fqn fqn3 = Fqn.fromString("/a/b/e");
 44   
 45  1 Region region = regionManager_.getRegion("/a/b", true);
 46  1 region.putNodeEvent(new EvictedEventNode(fqn1, NodeEventType.ADD_NODE_EVENT));
 47  1 region.putNodeEvent(new EvictedEventNode(fqn2, NodeEventType.ADD_NODE_EVENT));
 48  1 region.putNodeEvent(new EvictedEventNode(fqn3, NodeEventType.ADD_NODE_EVENT));
 49   
 50  1 assertEquals("AddedNode queue size ", 3, region.nodeEventQueueSize());
 51  1 EvictedEventNode node = region.takeLastEventNode();
 52  1 Fqn fqn = node.getFqn();
 53  1 assertEquals("DataNode retrieved should be FILO ", fqn, fqn1);
 54  1 assertEquals("AddedNode queue size ", 2, region.nodeEventQueueSize());
 55  1 fqn = region.takeLastEventNode().getFqn();
 56  1 fqn = region.takeLastEventNode().getFqn();
 57  1 node = region.takeLastEventNode();
 58  1 assertNull("DataNode should be null", node);
 59    }
 60   
 61  1 public void testEventQueue()
 62    {
 63  1 Fqn fqn1 = Fqn.fromString("/a/b/c");
 64  1 Fqn fqn2 = Fqn.fromString("/a/b/d");
 65  1 Fqn fqn3 = Fqn.fromString("/a/b/e");
 66   
 67  1 Region region = regionManager_.getRegion("/a/b", true);
 68  1 region.putNodeEvent(new EvictedEventNode(fqn1, NodeEventType.REMOVE_NODE_EVENT));
 69  1 region.putNodeEvent(new EvictedEventNode(fqn2, NodeEventType.ADD_NODE_EVENT));
 70  1 region.putNodeEvent(new EvictedEventNode(fqn3, NodeEventType.VISIT_NODE_EVENT));
 71   
 72   
 73   
 74  1 assertEquals("RemovedNode queue size ", 3, region.nodeEventQueueSize());
 75  1 NodeEventType event = region.takeLastEventNode().getEventType();
 76  1 assertEquals("DataNode retrieved should be: ", NodeEventType.REMOVE_NODE_EVENT, event);
 77  1 Fqn fqn = region.takeLastEventNode().getFqn();
 78  1 fqn = region.takeLastEventNode().getFqn();
 79  1 EvictedEventNode node = region.takeLastEventNode();
 80  1 assertNull("DataNode should be null", node);
 81    }
 82   
 83  1 public void testMassivePutOnQueue()
 84    {
 85  1 Fqn fqn2 = Fqn.fromString("/a/b/d");
 86   
 87  1 Region region = regionManager_.getRegion("/a/b", true);
 88    // This should succeed, alhtough it will produce warning over the threshold.
 89  1 for (int i = 0; i < EvictionConfig.EVENT_QUEUE_SIZE_DEFAULT - 1; i++)
 90    {
 91  199999 region.putNodeEvent(new EvictedEventNode(fqn2, NodeEventType.ADD_NODE_EVENT));
 92    }
 93   
 94    }
 95   
 96  0 void log(String msg)
 97    {
 98  0 System.out.println("-- " + msg);
 99    }
 100   
 101  1 public static Test suite()
 102    {
 103  1 return new TestSuite(RegionTest.class);
 104    }
 105   
 106  0 public static void main(String[] args)
 107    {
 108  0 junit.textui.TestRunner.run(suite());
 109    }
 110   
 111    }