Save This Page
Home » oscache-2.4.1-full » com.opensymphony.oscache » base » algorithm » [javadoc | source]
    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 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   }

Save This Page
Home » oscache-2.4.1-full » com.opensymphony.oscache » base » algorithm » [javadoc | source]