KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > cache > test > eviction > RegionUnitTestCase


1 /*
2 * JBoss, the OpenSource J2EE webOS
3 *
4 * Distributable under LGPL license.
5 * See terms of license at gnu.org.
6 */

7 package org.jboss.test.cache.test.eviction;
8
9 import junit.framework.TestCase;
10 import junit.framework.Test;
11 import junit.framework.TestSuite;
12 import org.jboss.cache.Fqn;
13 import org.jboss.cache.eviction.Region;
14 import org.jboss.cache.eviction.RegionManager;
15 import org.jboss.cache.eviction.EvictedEventNode;
16
17 import java.util.HashMap JavaDoc;
18
19 /**
20  * @author Ben Wang, Feb 11, 2004
21  */

22 public class RegionUnitTestCase extends TestCase
23 {
24    RegionManager regionManager_;
25    public RegionUnitTestCase(String JavaDoc s)
26    {
27       super(s);
28    }
29
30    public void setUp() throws Exception JavaDoc
31    {
32       super.setUp();
33       regionManager_ = new RegionManager(null);
34       regionManager_.createRegion("/a/b", null);
35    }
36
37    public void tearDown() throws Exception JavaDoc
38    {
39       super.tearDown();
40    }
41
42    public void testAddedQueue() {
43       Fqn fqn1 = Fqn.fromString("/a/b/c");
44       Fqn fqn2 = Fqn.fromString("/a/b/d");
45       Fqn fqn3 = Fqn.fromString("/a/b/e");
46
47       Region region = regionManager_.getRegion("/a/b");
48       region.setAddedNode(fqn1);
49       region.setAddedNode(fqn2);
50       region.setAddedNode(fqn3);
51
52       assertEquals("AddedNode queue size ", 3, region.nodeEventQueueSize());
53       EvictedEventNode node = (EvictedEventNode)region.takeLastEventNode();
54       Fqn fqn = node.getFqn();
55       assertEquals("Node retrieved should be FILO ", fqn, fqn1);
56       assertEquals("AddedNode queue size ", 2, region.nodeEventQueueSize());
57       fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn();
58       fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn();
59       node = ((EvictedEventNode)region.takeLastEventNode());
60       assertNull("Node should be null", node);
61    }
62
63    public void testEventQueue() {
64       Fqn fqn1 = Fqn.fromString("/a/b/c");
65       Fqn fqn2 = Fqn.fromString("/a/b/d");
66       Fqn fqn3 = Fqn.fromString("/a/b/e");
67
68       Region region = regionManager_.getRegion("/a/b");
69       region.setRemovedNode(fqn1);
70       region.setAddedNode(fqn2);
71       region.setVisitedNode(fqn3);
72
73       assertEquals("RemovedNode queue size ", 3, region.nodeEventQueueSize());
74       Integer JavaDoc event = ((EvictedEventNode)region.takeLastEventNode()).getEvent();
75       assertEquals("Node retrieved should be: ", EvictedEventNode.REMOVE_EVENT, event);
76       Fqn fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn();
77       fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn();
78       EvictedEventNode node = ((EvictedEventNode)region.takeLastEventNode());
79       assertNull("Node should be null", node);
80    }
81
82    void log(String JavaDoc msg)
83    {
84       System.out.println("-- " + msg);
85    }
86
87    public static Test suite()
88    {
89       return new TestSuite(RegionUnitTestCase.class);
90    }
91
92    public static void main(String JavaDoc[] args)
93    {
94       junit.textui.TestRunner.run(suite());
95    }
96
97 }
98
Popular Tags