KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opensymphony > oscache > base > algorithm > TestUnlimitedCache


1 /*
2  * Copyright (c) 2002-2003 by OpenSymphony
3  * All rights reserved.
4  */

5 package com.opensymphony.oscache.base.algorithm;
6
7 import junit.framework.Test;
8 import junit.framework.TestSuite;
9
10 /**
11  * Test class for the Unlimited cache algorithm. Most of the tests are done
12  * in the TestNonQueueCache class, so only algorithm specific tests are done
13  * here. Since this is an unlimited cache, there's not much to test about
14  * the algorithm.
15  *
16  * $Id: TestUnlimitedCache.java,v 1.2 2006/06/15 16:27:17 ltorunski Exp $
17  * @version $Revision: 1.2 $
18  * @author <a HREF="mailto:abergevin@pyxis-tech.com">Alain Bergevin</a>
19  */

20 public final class TestUnlimitedCache extends TestQueueCache {
21     /**
22      * Unlimited Cache object
23      */

24     private static UnlimitedCache cache = null;
25
26     /**
27      * Constructor
28      * <p>
29      * @param str The test name (required by JUnit)
30      */

31     public TestUnlimitedCache(String JavaDoc str) {
32         super(str);
33     }
34
35     /**
36      * This methods returns the name of this test class to JUnit
37      * <p>
38      * @return The test for this class
39      */

40     public static Test suite() {
41         return new TestSuite(TestUnlimitedCache.class);
42     }
43
44     /**
45      * Abstract method used by the TestAbstractCache class
46      * <p>
47      * @return A cache instance
48      */

49     public AbstractConcurrentReadCache getCache() {
50         return cache;
51     }
52
53     /**
54      * This method is invoked before each testXXXX methods of the
55      * class. It set ups the variables required for each tests.
56      */

57     public void setUp() {
58         // Create a cache instance on first invocation
59
if (cache == null) {
60             cache = new UnlimitedCache();
61             assertNotNull(cache);
62         }
63     }
64
65     /**
66      * Test the getter and setter for the max entries. It overrides the TestQueueCache
67      * one since it shouldn't have any effect in unlimited cache
68      */

69     public void testGetSetMaxEntries() {
70         // Check that the max entries cannot be changed
71
int entryCount = getCache().getMaxEntries();
72         getCache().setMaxEntries(entryCount - 1);
73         assertEquals(entryCount, getCache().getMaxEntries());
74     }
75
76     /**
77      * Test the cache algorithm
78      */

79     public void testRemoveItem() {
80         // Add an item, and ensure that it is not removable
81
cache.itemPut(KEY);
82         assertNull(cache.removeItem());
83     }
84     
85     /**
86      * Test that groups are correctly updated on puts and removes
87      */

88     public void testGroups() {
89         // test not possible, because can't reduce cache max entries for this test
90
}
91
92 }
93
Popular Tags