Modified: jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/server/RemoteCacheServerUnitTest.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/server/RemoteCacheServerUnitTest.java?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/server/RemoteCacheServerUnitTest.java (original)
+++ jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/server/RemoteCacheServerUnitTest.java Thu May 10 09:03:42 2007
@@ -1,291 +1,301 @@
-package org.apache.jcs.auxiliary.remote.server;
-
-/*
- * Copyright 2001-2004 The Apache Software Foundation. Licensed under the Apache License, Version
- * 2.0 (the "License") you may not use this file except in compliance with the License. You may
- * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by
- * applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See
- * the License for the specific language governing permissions and limitations under the License.
- */
-
-import java.util.LinkedList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.jcs.auxiliary.remote.RemoteCacheListenerMockImpl;
-import org.apache.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
-import org.apache.jcs.auxiliary.remote.server.behavior.IRemoteCacheServerAttributes;
-import org.apache.jcs.engine.CacheElement;
-import org.apache.jcs.engine.behavior.ICacheElement;
-
-/**
- * Since the server does not know that it is a server, it is easy to unit test. The factory does all
- * the rmi work.
- * <p>
- * @author Aaron Smuts
- */
-public class RemoteCacheServerUnitTest
- extends TestCase
-{
-
- /**
- * Add a listner. Pass the id of 0, verify that the server sets a new listener id. Do another
- * and verify that the second gets an id of 2.
- * <p>
- * @throws Exception
- */
- public void testAddListenerToCache()
- throws Exception
- {
- // SETUP
- IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
- rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
- RemoteCacheServer server = new RemoteCacheServer( rcsa );
-
- RemoteCacheListenerMockImpl mockListener1 = new RemoteCacheListenerMockImpl();
- RemoteCacheListenerMockImpl mockListener2 = new RemoteCacheListenerMockImpl();
-
- String cacheName = "testAddListener";
-
- // DO WORK
- server.addCacheListener( cacheName, mockListener1 );
- server.addCacheListener( cacheName, mockListener2 );
-
- // VERIFY
- assertEquals( "Wrong listener id.", 1, mockListener1.getListenerId() );
- assertEquals( "Wrong listener id.", 2, mockListener2.getListenerId() );
- }
-
- /**
- * Add a listner. Pass the id of 0, verify that the server sets a new listener id. Do another
- * and verify that the second gets an id of 2.
- * <p>
- * @throws Exception
- */
- public void testAddListenerToAll()
- throws Exception
- {
- // SETUP
- IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
- rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
- RemoteCacheServer server = new RemoteCacheServer( rcsa );
-
- RemoteCacheListenerMockImpl mockListener1 = new RemoteCacheListenerMockImpl();
- RemoteCacheListenerMockImpl mockListener2 = new RemoteCacheListenerMockImpl();
-
- // DO WORK
- // don't specify the cache name
- server.addCacheListener( mockListener1 );
- server.addCacheListener( mockListener2 );
-
- // VERIFY
- assertEquals( "Wrong listener id.", 1, mockListener1.getListenerId() );
- assertEquals( "Wrong listener id.", 2, mockListener2.getListenerId() );
- }
-
- /**
- * Add a listner. Pass the id of 0, verify that the server sets a new listener id. Do another
- * and verify that the second gets an id of 2. Call remove Listener and verify that it is
- * removed.
- * <p>
- * @throws Exception
- */
- public void testAddListenerToAllThenRemove()
- throws Exception
- {
- // SETUP
- IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
- rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
- RemoteCacheServer server = new RemoteCacheServer( rcsa );
-
- RemoteCacheListenerMockImpl mockListener1 = new RemoteCacheListenerMockImpl();
- RemoteCacheListenerMockImpl mockListener2 = new RemoteCacheListenerMockImpl();
-
- String cacheName = "testAddListenerToAllThenRemove";
-
- // DO WORK
- server.addCacheListener( cacheName, mockListener1 );
- server.addCacheListener( cacheName, mockListener2 );
-
- // VERIFY
- assertEquals( "Wrong number of listeners.", 2, server.getCacheListeners( cacheName ).eventQMap.size() );
- assertEquals( "Wrong listener id.", 1, mockListener1.getListenerId() );
- assertEquals( "Wrong listener id.", 2, mockListener2.getListenerId() );
-
- // DO WORK
- server.removeCacheListener( cacheName, mockListener1.getListenerId() );
- assertEquals( "Wrong number of listeners.", 1, server.getCacheListeners( cacheName ).eventQMap.size() );
- }
-
- /**
- * Add a listner. Pass the id of 0, verify that the server sets a new listener id. Do another
- * and verify that the second gets an id of 2. Call remove Listener and verify that it is
- * removed.
- * <p>
- * @throws Exception
- */
- public void testAddListenerToAllThenRemove_clusterType()
- throws Exception
- {
- // SETUP
- IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
- rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
- RemoteCacheServer server = new RemoteCacheServer( rcsa );
-
- RemoteCacheListenerMockImpl mockListener1 = new RemoteCacheListenerMockImpl();
- mockListener1.remoteType = IRemoteCacheServerAttributes.CLUSTER;
- RemoteCacheListenerMockImpl mockListener2 = new RemoteCacheListenerMockImpl();
- mockListener2.remoteType = IRemoteCacheServerAttributes.CLUSTER;
-
- String cacheName = "testAddListenerToAllThenRemove";
-
- // DO WORK
- server.addCacheListener( cacheName, mockListener1 );
- server.addCacheListener( cacheName, mockListener2 );
-
- // VERIFY
- assertEquals( "Wrong number of listeners.", 0, server.getCacheListeners( cacheName ).eventQMap.size() );
- assertEquals( "Wrong number of listeners.", 2, server.getClusterListeners( cacheName ).eventQMap.size() );
- assertEquals( "Wrong listener id.", 1, mockListener1.getListenerId() );
- assertEquals( "Wrong listener id.", 2, mockListener2.getListenerId() );
-
- // DO WORK
- server.removeCacheListener( cacheName, mockListener1.getListenerId() );
- assertEquals( "Wrong number of listeners.", 1, server.getClusterListeners( cacheName ).eventQMap.size() );
- }
-
- /**
- * Register a listener and then verify that it is called when we put using a different listener
- * id.
- * @throws Exception
- */
- public void testSimpleRegisterListenerAndPut()
- throws Exception
- {
- // SETUP
- IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
- rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
-
- RemoteCacheListenerMockImpl mockListener = new RemoteCacheListenerMockImpl();
- RemoteCacheServer server = new RemoteCacheServer( rcsa );
-
- String cacheName = "testSimpleRegisterListenerAndPut";
- server.addCacheListener( cacheName, mockListener );
-
- // DO WORK
- List inputItems = new LinkedList();
- int numToPut = 10;
-
- for ( int i = 0; i < numToPut; i++ )
- {
- ICacheElement element = new CacheElement( cacheName, String.valueOf( i ), new Long( i ) );
- inputItems.add( element );
- server.update( element, 9999 );
- }
-
- Thread.sleep( 100 );
- Thread.yield();
- Thread.sleep( 100 );
-
- // VERIFY
- assertEquals( "Wrong number of items put to listener.", numToPut, mockListener.putItems.size() );
- for ( int i = 0; i < numToPut; i++ )
- {
- assertEquals( "Wrong item.", inputItems.get( i ), mockListener.putItems.get( i ) );
- }
- }
-
- /**
- * Register a listener and then verify that it is called when we put using a different listener
- * id. The updates should come from a cluster listener and local cluster consistency should be
- * true.
- * <p>
- * @throws Exception
- */
- public void testSimpleRegisterListenerAndPut_FromClusterWithLCC()
- throws Exception
- {
- // SETUP
- IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
- rcsa.setLocalClusterConsistency( true );
- rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
- RemoteCacheServer server = new RemoteCacheServer( rcsa );
-
- // this is to get the listenr id for inserts.
- RemoteCacheListenerMockImpl clusterListener = new RemoteCacheListenerMockImpl();
- clusterListener.remoteType = IRemoteCacheAttributes.CLUSTER;
-
- // this should get the updates
- RemoteCacheListenerMockImpl localListener = new RemoteCacheListenerMockImpl();
- localListener.remoteType = IRemoteCacheAttributes.LOCAL;
-
- String cacheName = "testSimpleRegisterListenerAndPut_FromClusterWithLCC";
- server.addCacheListener( cacheName, clusterListener );
- server.addCacheListener( cacheName, localListener );
-
- // DO WORK
- List inputItems = new LinkedList();
- int numToPut = 10;
-
- for ( int i = 0; i < numToPut; i++ )
- {
- ICacheElement element = new CacheElement( cacheName, String.valueOf( i ), new Long( i ) );
- inputItems.add( element );
- // update using the cluster listener id
- server.update( element, clusterListener.getListenerId() );
- }
-
- Thread.sleep( 100 );
- Thread.yield();
- Thread.sleep( 100 );
-
- // VERIFY
- assertEquals( "Wrong number of items put to listener.", numToPut, localListener.putItems.size() );
- for ( int i = 0; i < numToPut; i++ )
- {
- assertEquals( "Wrong item.", inputItems.get( i ), localListener.putItems.get( i ) );
- }
- }
-
- /**
- * Register a listener and then verify that it is called when we put using a different listener
- * id.
- * @throws Exception
- */
- public void testSimpleRegisterListenerAndRemove()
- throws Exception
- {
- // SETUP
- IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
- rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
-
- RemoteCacheListenerMockImpl mockListener = new RemoteCacheListenerMockImpl();
- RemoteCacheServer server = new RemoteCacheServer( rcsa );
-
- String cacheName = "testSimpleRegisterListenerAndPut";
- server.addCacheListener( cacheName, mockListener );
-
- // DO WORK
- int numToPut = 10;
-
- for ( int i = 0; i < numToPut; i++ )
- {
- // use a junk listener id
- server.remove( cacheName, String.valueOf( i ), 9999 );
- }
-
- Thread.sleep( 100 );
- Thread.yield();
- Thread.sleep( 100 );
-
- // VERIFY
- assertEquals( "Wrong number of items removed from listener.", numToPut, mockListener.removedKeys.size() );
- for ( int i = 0; i < numToPut; i++ )
- {
- assertEquals( "Wrong key.", String.valueOf( i ), mockListener.removedKeys.get( i ) );
- }
- }
-
-}
+package org.apache.jcs.auxiliary.remote.server;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.LinkedList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.jcs.auxiliary.remote.RemoteCacheListenerMockImpl;
+import org.apache.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
+import org.apache.jcs.auxiliary.remote.server.behavior.IRemoteCacheServerAttributes;
+import org.apache.jcs.engine.CacheElement;
+import org.apache.jcs.engine.behavior.ICacheElement;
+
+/**
+ * Since the server does not know that it is a server, it is easy to unit test. The factory does all
+ * the rmi work.
+ * <p>
+ * @author Aaron Smuts
+ */
+public class RemoteCacheServerUnitTest
+ extends TestCase
+{
+
+ /**
+ * Add a listner. Pass the id of 0, verify that the server sets a new listener id. Do another
+ * and verify that the second gets an id of 2.
+ * <p>
+ * @throws Exception
+ */
+ public void testAddListenerToCache()
+ throws Exception
+ {
+ // SETUP
+ IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+ rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
+ RemoteCacheServer server = new RemoteCacheServer( rcsa );
+
+ RemoteCacheListenerMockImpl mockListener1 = new RemoteCacheListenerMockImpl();
+ RemoteCacheListenerMockImpl mockListener2 = new RemoteCacheListenerMockImpl();
+
+ String cacheName = "testAddListener";
+
+ // DO WORK
+ server.addCacheListener( cacheName, mockListener1 );
+ server.addCacheListener( cacheName, mockListener2 );
+
+ // VERIFY
+ assertEquals( "Wrong listener id.", 1, mockListener1.getListenerId() );
+ assertEquals( "Wrong listener id.", 2, mockListener2.getListenerId() );
+ }
+
+ /**
+ * Add a listner. Pass the id of 0, verify that the server sets a new listener id. Do another
+ * and verify that the second gets an id of 2.
+ * <p>
+ * @throws Exception
+ */
+ public void testAddListenerToAll()
+ throws Exception
+ {
+ // SETUP
+ IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+ rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
+ RemoteCacheServer server = new RemoteCacheServer( rcsa );
+
+ RemoteCacheListenerMockImpl mockListener1 = new RemoteCacheListenerMockImpl();
+ RemoteCacheListenerMockImpl mockListener2 = new RemoteCacheListenerMockImpl();
+
+ // DO WORK
+ // don't specify the cache name
+ server.addCacheListener( mockListener1 );
+ server.addCacheListener( mockListener2 );
+
+ // VERIFY
+ assertEquals( "Wrong listener id.", 1, mockListener1.getListenerId() );
+ assertEquals( "Wrong listener id.", 2, mockListener2.getListenerId() );
+ }
+
+ /**
+ * Add a listner. Pass the id of 0, verify that the server sets a new listener id. Do another
+ * and verify that the second gets an id of 2. Call remove Listener and verify that it is
+ * removed.
+ * <p>
+ * @throws Exception
+ */
+ public void testAddListenerToAllThenRemove()
+ throws Exception
+ {
+ // SETUP
+ IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+ rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
+ RemoteCacheServer server = new RemoteCacheServer( rcsa );
+
+ RemoteCacheListenerMockImpl mockListener1 = new RemoteCacheListenerMockImpl();
+ RemoteCacheListenerMockImpl mockListener2 = new RemoteCacheListenerMockImpl();
+
+ String cacheName = "testAddListenerToAllThenRemove";
+
+ // DO WORK
+ server.addCacheListener( cacheName, mockListener1 );
+ server.addCacheListener( cacheName, mockListener2 );
+
+ // VERIFY
+ assertEquals( "Wrong number of listeners.", 2, server.getCacheListeners( cacheName ).eventQMap.size() );
+ assertEquals( "Wrong listener id.", 1, mockListener1.getListenerId() );
+ assertEquals( "Wrong listener id.", 2, mockListener2.getListenerId() );
+
+ // DO WORK
+ server.removeCacheListener( cacheName, mockListener1.getListenerId() );
+ assertEquals( "Wrong number of listeners.", 1, server.getCacheListeners( cacheName ).eventQMap.size() );
+ }
+
+ /**
+ * Add a listner. Pass the id of 0, verify that the server sets a new listener id. Do another
+ * and verify that the second gets an id of 2. Call remove Listener and verify that it is
+ * removed.
+ * <p>
+ * @throws Exception
+ */
+ public void testAddListenerToAllThenRemove_clusterType()
+ throws Exception
+ {
+ // SETUP
+ IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+ rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
+ RemoteCacheServer server = new RemoteCacheServer( rcsa );
+
+ RemoteCacheListenerMockImpl mockListener1 = new RemoteCacheListenerMockImpl();
+ mockListener1.remoteType = IRemoteCacheServerAttributes.CLUSTER;
+ RemoteCacheListenerMockImpl mockListener2 = new RemoteCacheListenerMockImpl();
+ mockListener2.remoteType = IRemoteCacheServerAttributes.CLUSTER;
+
+ String cacheName = "testAddListenerToAllThenRemove";
+
+ // DO WORK
+ server.addCacheListener( cacheName, mockListener1 );
+ server.addCacheListener( cacheName, mockListener2 );
+
+ // VERIFY
+ assertEquals( "Wrong number of listeners.", 0, server.getCacheListeners( cacheName ).eventQMap.size() );
+ assertEquals( "Wrong number of listeners.", 2, server.getClusterListeners( cacheName ).eventQMap.size() );
+ assertEquals( "Wrong listener id.", 1, mockListener1.getListenerId() );
+ assertEquals( "Wrong listener id.", 2, mockListener2.getListenerId() );
+
+ // DO WORK
+ server.removeCacheListener( cacheName, mockListener1.getListenerId() );
+ assertEquals( "Wrong number of listeners.", 1, server.getClusterListeners( cacheName ).eventQMap.size() );
+ }
+
+ /**
+ * Register a listener and then verify that it is called when we put using a different listener
+ * id.
+ * @throws Exception
+ */
+ public void testSimpleRegisterListenerAndPut()
+ throws Exception
+ {
+ // SETUP
+ IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+ rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
+
+ RemoteCacheListenerMockImpl mockListener = new RemoteCacheListenerMockImpl();
+ RemoteCacheServer server = new RemoteCacheServer( rcsa );
+
+ String cacheName = "testSimpleRegisterListenerAndPut";
+ server.addCacheListener( cacheName, mockListener );
+
+ // DO WORK
+ List inputItems = new LinkedList();
+ int numToPut = 10;
+
+ for ( int i = 0; i < numToPut; i++ )
+ {
+ ICacheElement element = new CacheElement( cacheName, String.valueOf( i ), new Long( i ) );
+ inputItems.add( element );
+ server.update( element, 9999 );
+ }
+
+ Thread.sleep( 100 );
+ Thread.yield();
+ Thread.sleep( 100 );
+
+ // VERIFY
+ assertEquals( "Wrong number of items put to listener.", numToPut, mockListener.putItems.size() );
+ for ( int i = 0; i < numToPut; i++ )
+ {
+ assertEquals( "Wrong item.", inputItems.get( i ), mockListener.putItems.get( i ) );
+ }
+ }
+
+ /**
+ * Register a listener and then verify that it is called when we put using a different listener
+ * id. The updates should come from a cluster listener and local cluster consistency should be
+ * true.
+ * <p>
+ * @throws Exception
+ */
+ public void testSimpleRegisterListenerAndPut_FromClusterWithLCC()
+ throws Exception
+ {
+ // SETUP
+ IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+ rcsa.setLocalClusterConsistency( true );
+ rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
+ RemoteCacheServer server = new RemoteCacheServer( rcsa );
+
+ // this is to get the listenr id for inserts.
+ RemoteCacheListenerMockImpl clusterListener = new RemoteCacheListenerMockImpl();
+ clusterListener.remoteType = IRemoteCacheAttributes.CLUSTER;
+
+ // this should get the updates
+ RemoteCacheListenerMockImpl localListener = new RemoteCacheListenerMockImpl();
+ localListener.remoteType = IRemoteCacheAttributes.LOCAL;
+
+ String cacheName = "testSimpleRegisterListenerAndPut_FromClusterWithLCC";
+ server.addCacheListener( cacheName, clusterListener );
+ server.addCacheListener( cacheName, localListener );
+
+ // DO WORK
+ List inputItems = new LinkedList();
+ int numToPut = 10;
+
+ for ( int i = 0; i < numToPut; i++ )
+ {
+ ICacheElement element = new CacheElement( cacheName, String.valueOf( i ), new Long( i ) );
+ inputItems.add( element );
+ // update using the cluster listener id
+ server.update( element, clusterListener.getListenerId() );
+ }
+
+ Thread.sleep( 100 );
+ Thread.yield();
+ Thread.sleep( 100 );
+
+ // VERIFY
+ assertEquals( "Wrong number of items put to listener.", numToPut, localListener.putItems.size() );
+ for ( int i = 0; i < numToPut; i++ )
+ {
+ assertEquals( "Wrong item.", inputItems.get( i ), localListener.putItems.get( i ) );
+ }
+ }
+
+ /**
+ * Register a listener and then verify that it is called when we put using a different listener
+ * id.
+ * @throws Exception
+ */
+ public void testSimpleRegisterListenerAndRemove()
+ throws Exception
+ {
+ // SETUP
+ IRemoteCacheServerAttributes rcsa = new RemoteCacheServerAttributes();
+ rcsa.setConfigFileName( "/TestRemoteCacheServer.ccf" );
+
+ RemoteCacheListenerMockImpl mockListener = new RemoteCacheListenerMockImpl();
+ RemoteCacheServer server = new RemoteCacheServer( rcsa );
+
+ String cacheName = "testSimpleRegisterListenerAndPut";
+ server.addCacheListener( cacheName, mockListener );
+
+ // DO WORK
+ int numToPut = 10;
+
+ for ( int i = 0; i < numToPut; i++ )
+ {
+ // use a junk listener id
+ server.remove( cacheName, String.valueOf( i ), 9999 );
+ }
+
+ Thread.sleep( 100 );
+ Thread.yield();
+ Thread.sleep( 100 );
+
+ // VERIFY
+ assertEquals( "Wrong number of items removed from listener.", numToPut, mockListener.removedKeys.size() );
+ for ( int i = 0; i < numToPut; i++ )
+ {
+ assertEquals( "Wrong key.", String.valueOf( i ), mockListener.removedKeys.get( i ) );
+ }
+ }
+
+}
Modified: jakarta/jcs/trunk/src/test/org/apache/jcs/engine/EventQueueConcurrentLoadTest.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/test/org/apache/jcs/engine/EventQueueConcurrentLoadTest.java?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/src/test/org/apache/jcs/engine/EventQueueConcurrentLoadTest.java (original)
+++ jakarta/jcs/trunk/src/test/org/apache/jcs/engine/EventQueueConcurrentLoadTest.java Thu May 10 09:03:42 2007
@@ -1,19 +1,22 @@
package org.apache.jcs.engine;
/*
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
- * Licensed under the Apache License, Version 2.0 (the "License")
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
import java.io.IOException;
@@ -30,7 +33,7 @@
* This test case is designed to makes sure there are no deadlocks in the event
* queue. The time to live should be set to a very short interval to make a
* deadlock more likely.
- *
+ *
* @author Aaron Smuts
*/
public class EventQueueConcurrentLoadTest
@@ -50,7 +53,7 @@
/**
* Constructor for the TestDiskCache object.
- *
+ *
* @param testName
*/
public EventQueueConcurrentLoadTest( String testName )
@@ -60,7 +63,7 @@
/**
* Main method passes this test to the text test runner.
- *
+ *
* @param args
*/
public static void main( String args[] )
@@ -71,7 +74,7 @@
/**
* A unit test suite for JUnit
- *
+ *
* @return The test suite
*/
public static Test suite()
@@ -167,7 +170,7 @@
/**
* Adds put events to the queue.
- *
+ *
* @param end
* @param expectedPutCount
* @throws Exception
@@ -200,7 +203,7 @@
/**
* Add remove events to the event queue.
- *
+ *
* @param end
* @throws Exception
*/
@@ -216,7 +219,7 @@
/**
* Add remove events to the event queue.
- *
+ *
* @throws Exception
*/
public void runStopProcessingTest()
@@ -227,7 +230,7 @@
/**
* Test putting and a delay. Waits until queue is empty to start.
- *
+ *
* @param end
* @param expectedPutCount
* @throws Exception
@@ -277,12 +280,12 @@
System.out.println( "queue is empty, comparing putCount" );
Thread.sleep( 1000 );
-
+
// this becomes less accurate with each test. It should never fail. If
// it does things are very off.
assertTrue( "The put count [" + listen.putCount + "] is below the expected minimum threshold ["
+ expectedPutCount + "]", listen.putCount >= ( expectedPutCount - 1 ) );
-
+
}
/**
@@ -304,7 +307,7 @@
/*
* (non-Javadoc)
- *
+ *
* @see org.apache.jcs.engine.behavior.ICacheListener#handlePut(org.apache.jcs.engine.behavior.ICacheElement)
*/
public void handlePut( ICacheElement item )
@@ -318,7 +321,7 @@
/*
* (non-Javadoc)
- *
+ *
* @see org.apache.jcs.engine.behavior.ICacheListener#handleRemove(java.lang.String,
* java.io.Serializable)
*/
@@ -334,7 +337,7 @@
/*
* (non-Javadoc)
- *
+ *
* @see org.apache.jcs.engine.behavior.ICacheListener#handleRemoveAll(java.lang.String)
*/
public void handleRemoveAll( String cacheName )
@@ -346,7 +349,7 @@
/*
* (non-Javadoc)
- *
+ *
* @see org.apache.jcs.engine.behavior.ICacheListener#handleDispose(java.lang.String)
*/
public void handleDispose( String cacheName )
@@ -358,7 +361,7 @@
/*
* (non-Javadoc)
- *
+ *
* @see org.apache.jcs.engine.behavior.ICacheListener#setListenerId(long)
*/
public void setListenerId( long id )
@@ -370,7 +373,7 @@
/*
* (non-Javadoc)
- *
+ *
* @see org.apache.jcs.engine.behavior.ICacheListener#getListenerId()
*/
public long getListenerId()
@@ -381,4 +384,4 @@
}
}
-}
\ No newline at end of file
+}
Modified: jakarta/jcs/trunk/src/test/org/apache/jcs/engine/SystemPropertyUsageUnitTest.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/test/org/apache/jcs/engine/SystemPropertyUsageUnitTest.java?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/src/test/org/apache/jcs/engine/SystemPropertyUsageUnitTest.java (original)
+++ jakarta/jcs/trunk/src/test/org/apache/jcs/engine/SystemPropertyUsageUnitTest.java Thu May 10 09:03:42 2007
@@ -1,77 +1,80 @@
-package org.apache.jcs.engine;
-
-/*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License")
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.Properties;
-
-import junit.framework.TestCase;
-
-import org.apache.jcs.JCS;
-import org.apache.jcs.engine.control.CompositeCacheManager;
-import org.apache.jcs.utils.props.PropertyLoader;
-
-/**
- * Verify that system properties can override.
- */
-public class SystemPropertyUsageUnitTest
- extends TestCase
-{
-
- /**
- * Verify that the system properties are used.
- * @throws Exception
- *
- */
- public void testSystemPropertyUsage()
- throws Exception
- {
- System.getProperties().setProperty( "jcs.default.cacheattributes.MaxObjects", "6789" );
-
- JCS.setConfigFilename( "/TestSystemPropertyUsage.ccf" );
-
- JCS jcs = JCS.getInstance( "someCacheNotInFile" );
-
- assertEquals( "System property value is not reflected", jcs.getCacheAttributes().getMaxObjects(), Integer
- .parseInt( "6789" ) );
-
- }
-
- /**
- * Verify that the system properties are not used is specified.
- *
- * @throws Exception
- *
- */
- public void testSystemPropertyUsage_inactive()
- throws Exception
- {
- System.getProperties().setProperty( "jcs.default.cacheattributes.MaxObjects", "6789" );
-
- CompositeCacheManager mgr = CompositeCacheManager.getUnconfiguredInstance();
-
- Properties props = PropertyLoader.loadProperties( "TestSystemPropertyUsage.ccf" );
-
- mgr.configure( props, false );
-
- JCS jcs = JCS.getInstance( "someCacheNotInFile" );
-
- assertFalse( "System property value should not be reflected",
- jcs.getCacheAttributes().getMaxObjects() == Integer.parseInt( props
- .getProperty( "jcs.default.cacheattributes.MaxObjects" ) ) );
-
- }
-}
+package org.apache.jcs.engine;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Properties;
+
+import junit.framework.TestCase;
+
+import org.apache.jcs.JCS;
+import org.apache.jcs.engine.control.CompositeCacheManager;
+import org.apache.jcs.utils.props.PropertyLoader;
+
+/**
+ * Verify that system properties can override.
+ */
+public class SystemPropertyUsageUnitTest
+ extends TestCase
+{
+
+ /**
+ * Verify that the system properties are used.
+ * @throws Exception
+ *
+ */
+ public void testSystemPropertyUsage()
+ throws Exception
+ {
+ System.getProperties().setProperty( "jcs.default.cacheattributes.MaxObjects", "6789" );
+
+ JCS.setConfigFilename( "/TestSystemPropertyUsage.ccf" );
+
+ JCS jcs = JCS.getInstance( "someCacheNotInFile" );
+
+ assertEquals( "System property value is not reflected", jcs.getCacheAttributes().getMaxObjects(), Integer
+ .parseInt( "6789" ) );
+
+ }
+
+ /**
+ * Verify that the system properties are not used is specified.
+ *
+ * @throws Exception
+ *
+ */
+ public void testSystemPropertyUsage_inactive()
+ throws Exception
+ {
+ System.getProperties().setProperty( "jcs.default.cacheattributes.MaxObjects", "6789" );
+
+ CompositeCacheManager mgr = CompositeCacheManager.getUnconfiguredInstance();
+
+ Properties props = PropertyLoader.loadProperties( "TestSystemPropertyUsage.ccf" );
+
+ mgr.configure( props, false );
+
+ JCS jcs = JCS.getInstance( "someCacheNotInFile" );
+
+ assertFalse( "System property value should not be reflected",
+ jcs.getCacheAttributes().getMaxObjects() == Integer.parseInt( props
+ .getProperty( "jcs.default.cacheattributes.MaxObjects" ) ) );
+
+ }
+}
Modified: jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CacheManagerStatsUnitTest.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CacheManagerStatsUnitTest.java?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CacheManagerStatsUnitTest.java (original)
+++ jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CacheManagerStatsUnitTest.java Thu May 10 09:03:42 2007
@@ -1,68 +1,71 @@
-package org.apache.jcs.engine.control;
-
-/*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License")
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.apache.jcs.JCS;
-import org.apache.jcs.engine.stats.behavior.ICacheStats;
-
-import junit.framework.TestCase;
-
-/**
- * @author Aaron Smuts
- *
- */
-public class CacheManagerStatsUnitTest
- extends TestCase
-{
-
- /**
- * Just get the stats after putting a couple entries in the cache.
- *
- * @throws Exception
- */
- public void testSimpleGetStats() throws Exception
- {
- JCS cache = JCS.getInstance( "testCache1" );
-
- // 1 miss, 1 hit, 1 put
- cache.get( "testKey" );
- cache.put( "testKey", "testdata" );
- // should have 4 hits
- cache.get( "testKey" );
- cache.get( "testKey" );
- cache.get( "testKey" );
- cache.get( "testKey" );
-
- CompositeCacheManager mgr = CompositeCacheManager.getInstance();
- String statsString = mgr.getStats();
-
- System.out.println( statsString );
-
- assertTrue( "Should have the cacheName in here.", statsString.indexOf("testCache1") != -1 );
- assertTrue( "Should have the HitCountRam in here.", statsString.indexOf("HitCountRam") != -1 );
- assertTrue( "Should have the 4 in here.", statsString.indexOf("4") != -1 );
-
- ICacheStats[] stats = mgr.getStatistics();
- int statsLen = stats.length;
- System.out.println( "statsLen = " + statsLen );
- for ( int i = 0; i < statsLen; i++ )
- {
- // TODO finish
- }
- }
-
-}
+package org.apache.jcs.engine.control;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.jcs.JCS;
+import org.apache.jcs.engine.stats.behavior.ICacheStats;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Aaron Smuts
+ *
+ */
+public class CacheManagerStatsUnitTest
+ extends TestCase
+{
+
+ /**
+ * Just get the stats after putting a couple entries in the cache.
+ *
+ * @throws Exception
+ */
+ public void testSimpleGetStats() throws Exception
+ {
+ JCS cache = JCS.getInstance( "testCache1" );
+
+ // 1 miss, 1 hit, 1 put
+ cache.get( "testKey" );
+ cache.put( "testKey", "testdata" );
+ // should have 4 hits
+ cache.get( "testKey" );
+ cache.get( "testKey" );
+ cache.get( "testKey" );
+ cache.get( "testKey" );
+
+ CompositeCacheManager mgr = CompositeCacheManager.getInstance();
+ String statsString = mgr.getStats();
+
+ System.out.println( statsString );
+
+ assertTrue( "Should have the cacheName in here.", statsString.indexOf("testCache1") != -1 );
+ assertTrue( "Should have the HitCountRam in here.", statsString.indexOf("HitCountRam") != -1 );
+ assertTrue( "Should have the 4 in here.", statsString.indexOf("4") != -1 );
+
+ ICacheStats[] stats = mgr.getStatistics();
+ int statsLen = stats.length;
+ System.out.println( "statsLen = " + statsLen );
+ for ( int i = 0; i < statsLen; i++ )
+ {
+ // TODO finish
+ }
+ }
+
+}
Modified: jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheDiskUsageUnitTest.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheDiskUsageUnitTest.java?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheDiskUsageUnitTest.java (original)
+++ jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheDiskUsageUnitTest.java Thu May 10 09:03:42 2007
@@ -1,429 +1,448 @@
-package org.apache.jcs.engine.control;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.apache.jcs.JCS;
-import org.apache.jcs.access.exception.CacheException;
-import org.apache.jcs.auxiliary.AuxiliaryCache;
-import org.apache.jcs.auxiliary.AuxiliaryCacheAttributes;
-import org.apache.jcs.engine.CacheElement;
-import org.apache.jcs.engine.CompositeCacheAttributes;
-import org.apache.jcs.engine.ElementAttributes;
-import org.apache.jcs.engine.behavior.ICacheElement;
-import org.apache.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.jcs.engine.behavior.IElementAttributes;
-import org.apache.jcs.engine.stats.behavior.IStats;
-
-/**
- * Tests of the disk usage settings for the CompositeCache.
- * <p>
- * @author Aaron Smuts
- */
-public class CompositeCacheDiskUsageUnitTest
- extends TestCase
-{
- /**
- * Test setup
- */
- public void setUp()
- {
- JCS.setConfigFilename( "/TestDiskCacheUsagePattern.ccf" );
- }
-
- /**
- * Verify that the swap region is set to the correct pattern.
- * <p>
- * @throws CacheException
- */
- public void testSwapConfig() throws CacheException
- {
- JCS swap = JCS.getInstance( "Swap" );
- assertEquals( ICompositeCacheAttributes.DISK_USAGE_PATTERN_SWAP, swap.getCacheAttributes().getDiskUsagePattern() );
- }
-
- /**
- * Verify that the swap region is set to the correct pattern.
- * <p>
- * @throws CacheException
- */
- public void testUpdateConfig() throws CacheException
- {
- JCS swap = JCS.getInstance( "Update" );
- assertEquals( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE, swap.getCacheAttributes().getDiskUsagePattern() );
- }
-
- /**
- * Setup a disk cache. Configure the disk usage pattern to swap. Call spool. Verify that the
- * item is put to disk.
- */
- public void testSpoolAllowed()
- {
- // SETUP
- ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
- cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_SWAP );
-
- IElementAttributes attr = new ElementAttributes();
-
- CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
-
- MockAuxCache mock = new MockAuxCache();
- mock.cacheType = AuxiliaryCache.DISK_CACHE;
-
- cache.setAuxCaches( new AuxiliaryCache[] { mock } );
-
- ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
-
- // DO WORK
- cache.spoolToDisk( inputElement );
-
- // VERIFY
- assertEquals( "Wrong number of calls to the disk cache update.", 1, mock.updateCount );
- assertEquals( "Wrong element updated.", inputElement, mock.lastUpdatedItem );
- }
-
- /**
- * Setup a disk cache. Configure the disk usage pattern to not swap. Call spool. Verify that the
- * item is not put to disk.
- */
- public void testSpoolNotAllowed()
- {
- // SETUP
- ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
- cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE );
-
- IElementAttributes attr = new ElementAttributes();
-
- CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
-
- MockAuxCache mock = new MockAuxCache();
- mock.cacheType = AuxiliaryCache.DISK_CACHE;
-
- cache.setAuxCaches( new AuxiliaryCache[] { mock } );
-
- ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
-
- // DO WORK
- cache.spoolToDisk( inputElement );
-
- // VERIFY
- assertEquals( "Wrong number of calls to the disk cache update.", 0, mock.updateCount );
- }
-
- /**
- * Setup a disk cache. Configure the disk usage pattern to UPDATE. Call updateAuxiliaries.
- * Verify that the item is put to disk.
- * <p>
- * This tests that the items are put to disk on a normal put when the usage pattern is set
- * appropriately.
- * @throws IOException
- */
- public void testUpdateAllowed()
- throws IOException
- {
- // SETUP
- ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
- cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE );
-
- IElementAttributes attr = new ElementAttributes();
-
- CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
-
- MockAuxCache mock = new MockAuxCache();
- mock.cacheType = AuxiliaryCache.DISK_CACHE;
-
- cache.setAuxCaches( new AuxiliaryCache[] { mock } );
-
- ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
-
- // DO WORK
- cache.updateAuxiliaries( inputElement, true );
-
- // VERIFY
- assertEquals( "Wrong number of calls to the disk cache update.", 1, mock.updateCount );
- assertEquals( "Wrong element updated.", inputElement, mock.lastUpdatedItem );
- }
-
- /**
- * Setup a disk cache. Configure the disk usage pattern to UPDATE. Call updateAuxiliaries with
- * local only set to false. Verify that the item is put to disk.
- * <p>
- * This tests that the items are put to disk on a normal put when the usage pattern is set
- * appropriately. The local setting should have no impact on whether the item goes to disk.
- * <p>
- * @throws IOException
- */
- public void testUpdateAllowed_localFalse()
- throws IOException
- {
- // SETUP
- ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
- cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE );
-
- IElementAttributes attr = new ElementAttributes();
-
- CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
-
- MockAuxCache mock = new MockAuxCache();
- mock.cacheType = AuxiliaryCache.DISK_CACHE;
-
- cache.setAuxCaches( new AuxiliaryCache[] { mock } );
-
- ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
-
- // DO WORK
- cache.updateAuxiliaries( inputElement, false );
-
- // VERIFY
- assertEquals( "Wrong number of calls to the disk cache update.", 1, mock.updateCount );
- assertEquals( "Wrong element updated.", inputElement, mock.lastUpdatedItem );
- }
-
- /**
- * Setup a disk cache. Configure the disk usage pattern to SWAP. Call updateAuxiliaries. Verify
- * that the item is not put to disk.
- * <p>
- * This tests that the items are not put to disk on a normal put when the usage pattern is set
- * to SWAP.
- * <p>
- * @throws IOException
- */
- public void testUpdateNotAllowed()
- throws IOException
- {
- // SETUP
- ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
- cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_SWAP );
-
- IElementAttributes attr = new ElementAttributes();
-
- CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
-
- MockAuxCache mock = new MockAuxCache();
- mock.cacheType = AuxiliaryCache.DISK_CACHE;
-
- cache.setAuxCaches( new AuxiliaryCache[] { mock } );
-
- ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
-
- // DO WORK
- cache.updateAuxiliaries( inputElement, true );
-
- // VERIFY
- assertEquals( "Wrong number of calls to the disk cache update.", 0, mock.updateCount );
- }
-
- /**
- * Setup a disk cache. Configure the disk usage pattern to UPDATE. Call updateAuxiliaries.
- * Verify that the item is put to disk.
- * <p>
- * This tests that the items are put to disk on a normal put when the usage pattern is set
- * appropriately.
- * @throws IOException
- */
- public void testUpdateAllowed_withOtherCaches()
- throws IOException
- {
- // SETUP
- ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
- cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE );
-
- IElementAttributes attr = new ElementAttributes();
-
- CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
-
- MockAuxCache mock = new MockAuxCache();
- mock.cacheType = AuxiliaryCache.DISK_CACHE;
-
- MockAuxCache mockLateral = new MockAuxCache();
- mockLateral.cacheType = AuxiliaryCache.LATERAL_CACHE;
-
- cache.setAuxCaches( new AuxiliaryCache[] { mock, mockLateral } );
-
- ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
-
- // DO WORK
- cache.updateAuxiliaries( inputElement, false );
-
- // VERIFY
- assertEquals( "Wrong number of calls to the disk cache update.", 1, mock.updateCount );
- assertEquals( "Wrong element updated.", inputElement, mock.lastUpdatedItem );
-
- assertEquals( "Wrong number of calls to the lateral cache update.", 1, mockLateral.updateCount );
- assertEquals( "Wrong element updated with lateral.", inputElement, mockLateral.lastUpdatedItem );
- }
-
- /**
- * Used to test the disk cache functionality.
- * <p>
- * @author Aaron Smuts
- */
- public class MockAuxCache
- implements AuxiliaryCache
- {
- private static final long serialVersionUID = 1L;
-
- /**
- * The last item passed to update.
- */
- public ICacheElement lastUpdatedItem;
-
- /**
- * The number of times update was called.
- */
- public int updateCount = 0;
-
- /**
- * The type that should be returned from getCacheType.
- */
- public int cacheType = AuxiliaryCache.DISK_CACHE;
-
- /**
- * Resets counters and catchers.
- */
- public void reset()
- {
- updateCount = 0;
- lastUpdatedItem = null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#update(org.apache.jcs.engine.behavior.ICacheElement)
- */
- public void update( ICacheElement ce )
- throws IOException
- {
- lastUpdatedItem = ce;
- updateCount++;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#get(java.io.Serializable)
- */
- public ICacheElement get( Serializable key )
- throws IOException
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#remove(java.io.Serializable)
- */
- public boolean remove( Serializable key )
- throws IOException
- {
- // TODO Auto-generated method stub
- return false;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#removeAll()
- */
- public void removeAll()
- throws IOException
- {
- // TODO Auto-generated method stub
-
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#dispose()
- */
- public void dispose()
- throws IOException
- {
- // TODO Auto-generated method stub
-
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#getSize()
- */
- public int getSize()
- {
- // TODO Auto-generated method stub
- return 0;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#getStatus()
- */
- public int getStatus()
- {
- // TODO Auto-generated method stub
- return 0;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#getCacheName()
- */
- public String getCacheName()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#getGroupKeys(java.lang.String)
- */
- public Set getGroupKeys( String group )
- throws IOException
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.auxiliary.AuxiliaryCache#getStatistics()
- */
- public IStats getStatistics()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.jcs.engine.behavior.ICache#getStats()
- */
- public String getStats()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- /**
- * Returns the setup cache type. This allows you to use this mock as multiple cache types.
- * <p>
- * (non-Javadoc)
- * @see org.apache.jcs.engine.behavior.ICacheType#getCacheType()
- */
- public int getCacheType()
- {
- return cacheType;
- }
-
- /**
- * @return Returns the AuxiliaryCacheAttributes.
- */
- public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
- {
- return null;
- }
- }
-
-}
+package org.apache.jcs.engine.control;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.apache.jcs.JCS;
+import org.apache.jcs.access.exception.CacheException;
+import org.apache.jcs.auxiliary.AuxiliaryCache;
+import org.apache.jcs.auxiliary.AuxiliaryCacheAttributes;
+import org.apache.jcs.engine.CacheElement;
+import org.apache.jcs.engine.CompositeCacheAttributes;
+import org.apache.jcs.engine.ElementAttributes;
+import org.apache.jcs.engine.behavior.ICacheElement;
+import org.apache.jcs.engine.behavior.ICompositeCacheAttributes;
+import org.apache.jcs.engine.behavior.IElementAttributes;
+import org.apache.jcs.engine.stats.behavior.IStats;
+
+/**
+ * Tests of the disk usage settings for the CompositeCache.
+ * <p>
+ * @author Aaron Smuts
+ */
+public class CompositeCacheDiskUsageUnitTest
+ extends TestCase
+{
+ /**
+ * Test setup
+ */
+ public void setUp()
+ {
+ JCS.setConfigFilename( "/TestDiskCacheUsagePattern.ccf" );
+ }
+
+ /**
+ * Verify that the swap region is set to the correct pattern.
+ * <p>
+ * @throws CacheException
+ */
+ public void testSwapConfig() throws CacheException
+ {
+ JCS swap = JCS.getInstance( "Swap" );
+ assertEquals( ICompositeCacheAttributes.DISK_USAGE_PATTERN_SWAP, swap.getCacheAttributes().getDiskUsagePattern() );
+ }
+
+ /**
+ * Verify that the swap region is set to the correct pattern.
+ * <p>
+ * @throws CacheException
+ */
+ public void testUpdateConfig() throws CacheException
+ {
+ JCS swap = JCS.getInstance( "Update" );
+ assertEquals( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE, swap.getCacheAttributes().getDiskUsagePattern() );
+ }
+
+ /**
+ * Setup a disk cache. Configure the disk usage pattern to swap. Call spool. Verify that the
+ * item is put to disk.
+ */
+ public void testSpoolAllowed()
+ {
+ // SETUP
+ ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+ cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_SWAP );
+
+ IElementAttributes attr = new ElementAttributes();
+
+ CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
+
+ MockAuxCache mock = new MockAuxCache();
+ mock.cacheType = AuxiliaryCache.DISK_CACHE;
+
+ cache.setAuxCaches( new AuxiliaryCache[] { mock } );
+
+ ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
+
+ // DO WORK
+ cache.spoolToDisk( inputElement );
+
+ // VERIFY
+ assertEquals( "Wrong number of calls to the disk cache update.", 1, mock.updateCount );
+ assertEquals( "Wrong element updated.", inputElement, mock.lastUpdatedItem );
+ }
+
+ /**
+ * Setup a disk cache. Configure the disk usage pattern to not swap. Call spool. Verify that the
+ * item is not put to disk.
+ */
+ public void testSpoolNotAllowed()
+ {
+ // SETUP
+ ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+ cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE );
+
+ IElementAttributes attr = new ElementAttributes();
+
+ CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
+
+ MockAuxCache mock = new MockAuxCache();
+ mock.cacheType = AuxiliaryCache.DISK_CACHE;
+
+ cache.setAuxCaches( new AuxiliaryCache[] { mock } );
+
+ ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
+
+ // DO WORK
+ cache.spoolToDisk( inputElement );
+
+ // VERIFY
+ assertEquals( "Wrong number of calls to the disk cache update.", 0, mock.updateCount );
+ }
+
+ /**
+ * Setup a disk cache. Configure the disk usage pattern to UPDATE. Call updateAuxiliaries.
+ * Verify that the item is put to disk.
+ * <p>
+ * This tests that the items are put to disk on a normal put when the usage pattern is set
+ * appropriately.
+ * @throws IOException
+ */
+ public void testUpdateAllowed()
+ throws IOException
+ {
+ // SETUP
+ ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+ cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE );
+
+ IElementAttributes attr = new ElementAttributes();
+
+ CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
+
+ MockAuxCache mock = new MockAuxCache();
+ mock.cacheType = AuxiliaryCache.DISK_CACHE;
+
+ cache.setAuxCaches( new AuxiliaryCache[] { mock } );
+
+ ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
+
+ // DO WORK
+ cache.updateAuxiliaries( inputElement, true );
+
+ // VERIFY
+ assertEquals( "Wrong number of calls to the disk cache update.", 1, mock.updateCount );
+ assertEquals( "Wrong element updated.", inputElement, mock.lastUpdatedItem );
+ }
+
+ /**
+ * Setup a disk cache. Configure the disk usage pattern to UPDATE. Call updateAuxiliaries with
+ * local only set to false. Verify that the item is put to disk.
+ * <p>
+ * This tests that the items are put to disk on a normal put when the usage pattern is set
+ * appropriately. The local setting should have no impact on whether the item goes to disk.
+ * <p>
+ * @throws IOException
+ */
+ public void testUpdateAllowed_localFalse()
+ throws IOException
+ {
+ // SETUP
+ ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+ cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE );
+
+ IElementAttributes attr = new ElementAttributes();
+
+ CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
+
+ MockAuxCache mock = new MockAuxCache();
+ mock.cacheType = AuxiliaryCache.DISK_CACHE;
+
+ cache.setAuxCaches( new AuxiliaryCache[] { mock } );
+
+ ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
+
+ // DO WORK
+ cache.updateAuxiliaries( inputElement, false );
+
+ // VERIFY
+ assertEquals( "Wrong number of calls to the disk cache update.", 1, mock.updateCount );
+ assertEquals( "Wrong element updated.", inputElement, mock.lastUpdatedItem );
+ }
+
+ /**
+ * Setup a disk cache. Configure the disk usage pattern to SWAP. Call updateAuxiliaries. Verify
+ * that the item is not put to disk.
+ * <p>
+ * This tests that the items are not put to disk on a normal put when the usage pattern is set
+ * to SWAP.
+ * <p>
+ * @throws IOException
+ */
+ public void testUpdateNotAllowed()
+ throws IOException
+ {
+ // SETUP
+ ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+ cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_SWAP );
+
+ IElementAttributes attr = new ElementAttributes();
+
+ CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
+
+ MockAuxCache mock = new MockAuxCache();
+ mock.cacheType = AuxiliaryCache.DISK_CACHE;
+
+ cache.setAuxCaches( new AuxiliaryCache[] { mock } );
+
+ ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
+
+ // DO WORK
+ cache.updateAuxiliaries( inputElement, true );
+
+ // VERIFY
+ assertEquals( "Wrong number of calls to the disk cache update.", 0, mock.updateCount );
+ }
+
+ /**
+ * Setup a disk cache. Configure the disk usage pattern to UPDATE. Call updateAuxiliaries.
+ * Verify that the item is put to disk.
+ * <p>
+ * This tests that the items are put to disk on a normal put when the usage pattern is set
+ * appropriately.
+ * @throws IOException
+ */
+ public void testUpdateAllowed_withOtherCaches()
+ throws IOException
+ {
+ // SETUP
+ ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+ cattr.setDiskUsagePattern( ICompositeCacheAttributes.DISK_USAGE_PATTERN_UPDATE );
+
+ IElementAttributes attr = new ElementAttributes();
+
+ CompositeCache cache = new CompositeCache( "testSpoolAllowed", cattr, attr );
+
+ MockAuxCache mock = new MockAuxCache();
+ mock.cacheType = AuxiliaryCache.DISK_CACHE;
+
+ MockAuxCache mockLateral = new MockAuxCache();
+ mockLateral.cacheType = AuxiliaryCache.LATERAL_CACHE;
+
+ cache.setAuxCaches( new AuxiliaryCache[] { mock, mockLateral } );
+
+ ICacheElement inputElement = new CacheElement( "testSpoolAllowed", "key", "value" );
+
+ // DO WORK
+ cache.updateAuxiliaries( inputElement, false );
+
+ // VERIFY
+ assertEquals( "Wrong number of calls to the disk cache update.", 1, mock.updateCount );
+ assertEquals( "Wrong element updated.", inputElement, mock.lastUpdatedItem );
+
+ assertEquals( "Wrong number of calls to the lateral cache update.", 1, mockLateral.updateCount );
+ assertEquals( "Wrong element updated with lateral.", inputElement, mockLateral.lastUpdatedItem );
+ }
+
+ /**
+ * Used to test the disk cache functionality.
+ * <p>
+ * @author Aaron Smuts
+ */
+ public class MockAuxCache
+ implements AuxiliaryCache
+ {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The last item passed to update.
+ */
+ public ICacheElement lastUpdatedItem;
+
+ /**
+ * The number of times update was called.
+ */
+ public int updateCount = 0;
+
+ /**
+ * The type that should be returned from getCacheType.
+ */
+ public int cacheType = AuxiliaryCache.DISK_CACHE;
+
+ /**
+ * Resets counters and catchers.
+ */
+ public void reset()
+ {
+ updateCount = 0;
+ lastUpdatedItem = null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#update(org.apache.jcs.engine.behavior.ICacheElement)
+ */
+ public void update( ICacheElement ce )
+ throws IOException
+ {
+ lastUpdatedItem = ce;
+ updateCount++;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#get(java.io.Serializable)
+ */
+ public ICacheElement get( Serializable key )
+ throws IOException
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#remove(java.io.Serializable)
+ */
+ public boolean remove( Serializable key )
+ throws IOException
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#removeAll()
+ */
+ public void removeAll()
+ throws IOException
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#dispose()
+ */
+ public void dispose()
+ throws IOException
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#getSize()
+ */
+ public int getSize()
+ {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#getStatus()
+ */
+ public int getStatus()
+ {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#getCacheName()
+ */
+ public String getCacheName()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#getGroupKeys(java.lang.String)
+ */
+ public Set getGroupKeys( String group )
+ throws IOException
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.auxiliary.AuxiliaryCache#getStatistics()
+ */
+ public IStats getStatistics()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.jcs.engine.behavior.ICache#getStats()
+ */
+ public String getStats()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Returns the setup cache type. This allows you to use this mock as multiple cache types.
+ * <p>
+ * (non-Javadoc)
+ * @see org.apache.jcs.engine.behavior.ICacheType#getCacheType()
+ */
+ public int getCacheType()
+ {
+ return cacheType;
+ }
+
+ /**
+ * @return Returns the AuxiliaryCacheAttributes.
+ */
+ public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
+ {
+ return null;
+ }
+ }
+
+}
Modified: jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheManagerMockImpl.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheManagerMockImpl.java?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheManagerMockImpl.java (original)
+++ jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheManagerMockImpl.java Thu May 10 09:03:42 2007
@@ -1,45 +1,64 @@
-package org.apache.jcs.engine.control;
-
-import org.apache.jcs.engine.CompositeCacheAttributes;
-import org.apache.jcs.engine.ElementAttributes;
-import org.apache.jcs.engine.behavior.ICompositeCacheManager;
-
-/**
- */
-public class CompositeCacheManagerMockImpl
- implements ICompositeCacheManager
-{
-
- private CompositeCache cache;
-
- /* (non-Javadoc)
- * @see org.apache.jcs.engine.behavior.ICompositeCacheManager#getCache(java.lang.String)
- */
- public CompositeCache getCache( String cacheName )
- {
- if ( cache == null )
- {
- System.out.println( "Creating mock cache" );
- CompositeCache newCache = new CompositeCache( cacheName, new CompositeCacheAttributes(), new ElementAttributes() );
- this.setCache( newCache );
- }
- return cache;
- }
-
- /**
- * @param cache The cache to set.
- */
- public void setCache( CompositeCache cache )
- {
- this.cache = cache;
- }
-
- /**
- * @return Returns the cache.
- */
- public CompositeCache getCache()
- {
- return cache;
- }
-
-}
+package org.apache.jcs.engine.control;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.jcs.engine.CompositeCacheAttributes;
+import org.apache.jcs.engine.ElementAttributes;
+import org.apache.jcs.engine.behavior.ICompositeCacheManager;
+
+/**
+ */
+public class CompositeCacheManagerMockImpl
+ implements ICompositeCacheManager
+{
+
+ private CompositeCache cache;
+
+ /* (non-Javadoc)
+ * @see org.apache.jcs.engine.behavior.ICompositeCacheManager#getCache(java.lang.String)
+ */
+ public CompositeCache getCache( String cacheName )
+ {
+ if ( cache == null )
+ {
+ System.out.println( "Creating mock cache" );
+ CompositeCache newCache = new CompositeCache( cacheName, new CompositeCacheAttributes(), new ElementAttributes() );
+ this.setCache( newCache );
+ }
+ return cache;
+ }
+
+ /**
+ * @param cache The cache to set.
+ */
+ public void setCache( CompositeCache cache )
+ {
+ this.cache = cache;
+ }
+
+ /**
+ * @return Returns the cache.
+ */
+ public CompositeCache getCache()
+ {
+ return cache;
+ }
+
+}
Modified: jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheManagerTester.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheManagerTester.java?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheManagerTester.java (original)
+++ jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheManagerTester.java Thu May 10 09:03:42 2007
@@ -1,19 +1,22 @@
package org.apache.jcs.engine.control;
/*
- * Copyright 2002-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
*
- * Licensed under the Apache License, Version 2.0 (the "License")
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
/**
@@ -23,7 +26,7 @@
/**
* Description of the Method
- *
+ *
* @param args
*/
public static void main( String args[] )
Modified: jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheUnitTest.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheUnitTest.java?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheUnitTest.java (original)
+++ jakarta/jcs/trunk/src/test/org/apache/jcs/engine/control/CompositeCacheUnitTest.java Thu May 10 09:03:42 2007
@@ -1,103 +1,122 @@
-package org.apache.jcs.engine.control;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.apache.jcs.auxiliary.AuxiliaryCache;
-import org.apache.jcs.auxiliary.AuxiliaryCacheMockImpl;
-import org.apache.jcs.engine.CacheElement;
-import org.apache.jcs.engine.CompositeCacheAttributes;
-import org.apache.jcs.engine.ElementAttributes;
-import org.apache.jcs.engine.behavior.ICache;
-import org.apache.jcs.engine.behavior.ICacheElement;
-import org.apache.jcs.engine.behavior.ICompositeCacheAttributes;
-import org.apache.jcs.engine.behavior.IElementAttributes;
-import org.apache.jcs.engine.memory.MemoryCacheMockImpl;
-
-/**
- * Tests that directly engage the composite cache.
- * <p>
- * @author Aaron Smuts
- */
-public class CompositeCacheUnitTest
- extends TestCase
-{
- /**
- * Verify that the freeMemoryElements method on the memory cache is called on shutdown if there
- * is a disk cache.
- * <p>
- * @throws IOException
- */
- public void testShutdownMemoryFlush()
- throws IOException
- {
- // SETUP
- String cacheName = "testCacheName";
- String mockMemoryCacheClassName = "org.apache.jcs.engine.memory.MemoryCacheMockImpl";
- ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
- cattr.setMemoryCacheName( mockMemoryCacheClassName );
-
- IElementAttributes attr = new ElementAttributes();
-
- CompositeCache cache = new CompositeCache( cacheName, cattr, attr );
-
- AuxiliaryCacheMockImpl diskMock = new AuxiliaryCacheMockImpl();
- diskMock.cacheType = ICache.DISK_CACHE;
- AuxiliaryCache[] aux = new AuxiliaryCache[] { diskMock };
- cache.setAuxCaches( aux );
-
- // DO WORK
- int numToInsert = 10;
- for ( int i = 0; i < numToInsert; i++ )
- {
- ICacheElement element = new CacheElement( cacheName, String.valueOf( i ), new Integer( i ) );
- cache.update( element, false );
- }
-
- cache.dispose();
-
- // VERIFY
- MemoryCacheMockImpl memoryCache = (MemoryCacheMockImpl) cache.getMemoryCache();
- assertEquals( "Wrong number freed.", numToInsert, memoryCache.lastNumberOfFreedElements );
- }
-
- /**
- * Verify that the freeMemoryElements method on the memory cache is NOT called on shutdown if
- * there is NOT a disk cache.
- * <p>
- * @throws IOException
- */
- public void testShutdownMemoryFlush_noDisk()
- throws IOException
- {
- // SETUP
- String cacheName = "testCacheName";
- String mockMemoryCacheClassName = "org.apache.jcs.engine.memory.MemoryCacheMockImpl";
- ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
- cattr.setMemoryCacheName( mockMemoryCacheClassName );
-
- IElementAttributes attr = new ElementAttributes();
-
- CompositeCache cache = new CompositeCache( cacheName, cattr, attr );
-
- AuxiliaryCacheMockImpl diskMock = new AuxiliaryCacheMockImpl();
- diskMock.cacheType = ICache.REMOTE_CACHE;
- AuxiliaryCache[] aux = new AuxiliaryCache[] { diskMock };
- cache.setAuxCaches( aux );
-
- // DO WORK
- int numToInsert = 10;
- for ( int i = 0; i < numToInsert; i++ )
- {
- ICacheElement element = new CacheElement( cacheName, String.valueOf( i ), new Integer( i ) );
- cache.update( element, false );
- }
-
- cache.dispose();
-
- // VERIFY
- MemoryCacheMockImpl memoryCache = (MemoryCacheMockImpl) cache.getMemoryCache();
- assertEquals( "Wrong number freed.", 0, memoryCache.lastNumberOfFreedElements );
- }
-}
+package org.apache.jcs.engine.control;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.IOException;
+
+import junit.framework.TestCase;
+
+import org.apache.jcs.auxiliary.AuxiliaryCache;
+import org.apache.jcs.auxiliary.AuxiliaryCacheMockImpl;
+import org.apache.jcs.engine.CacheElement;
+import org.apache.jcs.engine.CompositeCacheAttributes;
+import org.apache.jcs.engine.ElementAttributes;
+import org.apache.jcs.engine.behavior.ICache;
+import org.apache.jcs.engine.behavior.ICacheElement;
+import org.apache.jcs.engine.behavior.ICompositeCacheAttributes;
+import org.apache.jcs.engine.behavior.IElementAttributes;
+import org.apache.jcs.engine.memory.MemoryCacheMockImpl;
+
+/**
+ * Tests that directly engage the composite cache.
+ * <p>
+ * @author Aaron Smuts
+ */
+public class CompositeCacheUnitTest
+ extends TestCase
+{
+ /**
+ * Verify that the freeMemoryElements method on the memory cache is called on shutdown if there
+ * is a disk cache.
+ * <p>
+ * @throws IOException
+ */
+ public void testShutdownMemoryFlush()
+ throws IOException
+ {
+ // SETUP
+ String cacheName = "testCacheName";
+ String mockMemoryCacheClassName = "org.apache.jcs.engine.memory.MemoryCacheMockImpl";
+ ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+ cattr.setMemoryCacheName( mockMemoryCacheClassName );
+
+ IElementAttributes attr = new ElementAttributes();
+
+ CompositeCache cache = new CompositeCache( cacheName, cattr, attr );
+
+ AuxiliaryCacheMockImpl diskMock = new AuxiliaryCacheMockImpl();
+ diskMock.cacheType = ICache.DISK_CACHE;
+ AuxiliaryCache[] aux = new AuxiliaryCache[] { diskMock };
+ cache.setAuxCaches( aux );
+
+ // DO WORK
+ int numToInsert = 10;
+ for ( int i = 0; i < numToInsert; i++ )
+ {
+ ICacheElement element = new CacheElement( cacheName, String.valueOf( i ), new Integer( i ) );
+ cache.update( element, false );
+ }
+
+ cache.dispose();
+
+ // VERIFY
+ MemoryCacheMockImpl memoryCache = (MemoryCacheMockImpl) cache.getMemoryCache();
+ assertEquals( "Wrong number freed.", numToInsert, memoryCache.lastNumberOfFreedElements );
+ }
+
+ /**
+ * Verify that the freeMemoryElements method on the memory cache is NOT called on shutdown if
+ * there is NOT a disk cache.
+ * <p>
+ * @throws IOException
+ */
+ public void testShutdownMemoryFlush_noDisk()
+ throws IOException
+ {
+ // SETUP
+ String cacheName = "testCacheName";
+ String mockMemoryCacheClassName = "org.apache.jcs.engine.memory.MemoryCacheMockImpl";
+ ICompositeCacheAttributes cattr = new CompositeCacheAttributes();
+ cattr.setMemoryCacheName( mockMemoryCacheClassName );
+
+ IElementAttributes attr = new ElementAttributes();
+
+ CompositeCache cache = new CompositeCache( cacheName, cattr, attr );
+
+ AuxiliaryCacheMockImpl diskMock = new AuxiliaryCacheMockImpl();
+ diskMock.cacheType = ICache.REMOTE_CACHE;
+ AuxiliaryCache[] aux = new AuxiliaryCache[] { diskMock };
+ cache.setAuxCaches( aux );
+
+ // DO WORK
+ int numToInsert = 10;
+ for ( int i = 0; i < numToInsert; i++ )
+ {
+ ICacheElement element = new CacheElement( cacheName, String.valueOf( i ), new Integer( i ) );
+ cache.update( element, false );
+ }
+
+ cache.dispose();
+
+ // VERIFY
+ MemoryCacheMockImpl memoryCache = (MemoryCacheMockImpl) cache.getMemoryCache();
+ assertEquals( "Wrong number freed.", 0, memoryCache.lastNumberOfFreedElements );
+ }
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.