leif        02/02/02 07:16:05

  Modified:    src/scratchpad/org/apache/avalon/excalibur/pool/test
                        SingleThreadedPoolComparisonProfile.java
  Log:
  Added profile test cases for VariableSizePool and FixedSizePool
  
  Revision  Changes    Path
  1.2       +183 -0    
jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/pool/test/SingleThreadedPoolComparisonProfile.java
  
  Index: SingleThreadedPoolComparisonProfile.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/pool/test/SingleThreadedPoolComparisonProfile.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SingleThreadedPoolComparisonProfile.java  2 Feb 2002 15:04:57 -0000       
1.1
  +++ SingleThreadedPoolComparisonProfile.java  2 Feb 2002 15:16:05 -0000       
1.2
  @@ -9,6 +9,7 @@
   
   import junit.framework.TestCase;
   
  +import org.apache.avalon.excalibur.pool.FixedSizePool;
   import org.apache.avalon.excalibur.pool.HardResourceLimitingPool;
   import org.apache.avalon.excalibur.pool.ObjectFactory;
   import org.apache.avalon.excalibur.pool.Pool;
  @@ -16,6 +17,7 @@
   import org.apache.avalon.excalibur.pool.ResourceLimitingPool;
   import org.apache.avalon.excalibur.pool.SingleThreadedPool;
   import org.apache.avalon.excalibur.pool.SoftResourceLimitingPool;
  +import org.apache.avalon.excalibur.pool.VariableSizePool;
   
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.logger.Logger;
  @@ -26,6 +28,7 @@
    *  given a single access thread.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Leif Mortenson</a>
  + * @version $Id: SingleThreadedPoolComparisonProfile.java,v 1.2 2002/02/02 
15:16:05 leif Exp $
    */
   public class SingleThreadedPoolComparisonProfile
       extends TestCase
  @@ -533,6 +536,186 @@
           generalTest( name, poolA, poolB, 10, poolableClass );
       }
   
  +    /*---------------------------------------------------------------
  +     * FixedSizePool vs ResourceLimitingPool TestCases
  +     *-------------------------------------------------------------*/
  +    /**
  +     * Compare the FixedSizePool and ResourceLimitingPool when the
  +     *  ResourceLimitingPool is configured to act like a FixedSizePool.
  +     * <p>
  +     * Test will use pools with a max size of 10, while getting up to 10 at 
a time,
  +     *  Poolables are small objects.
  +     */
  +    public void 
testCompare_FixedSizePool_And_ResourceLimitingPool_Max10_Gets10_SmallPoolables()
  +        throws Exception
  +    {
  +        String name = 
"FixedSizePool_And_ResourceLimitingPool_Max10_Gets10_SmallPoolables";
  +        
  +        Class         poolableClass = SmallPoolable.class;
  +        ObjectFactory factory = new ClassInstanceObjectFactory( 
poolableClass, m_poolLogger );
  +        int           min          = 0;
  +        int           max          = 10;
  +        boolean       maxStrict    = true;
  +        boolean       blocking     = false;
  +        long          blockTimeout = 0;
  +        long          trimInterval = 0;
  +        
  +        FixedSizePool poolA = new FixedSizePool( factory, max );
  +        
  +        ResourceLimitingPool poolB = new ResourceLimitingPool( factory, max, 
maxStrict, blocking, blockTimeout, trimInterval );
  +        poolB.enableLogging( m_poolLogger );
  +        
  +        generalTest( name, poolA, poolB, 10, poolableClass );
  +    }
  +    
  +    /**
  +     * Compare the FixedSizePool and ResourceLimitingPool when the
  +     *  ResourceLimitingPool is configured to act like a FixedSizePool.
  +     * <p>
  +     * Test will use pools with a max size of 10, while getting up to 10 at 
a time,
  +     *  Poolables are medium objects.
  +     */
  +    public void 
testCompare_FixedSizePool_And_ResourceLimitingPool_Max10_Gets10_MediumPoolables()
  +        throws Exception
  +    {
  +        String name = 
"FixedSizePool_And_ResourceLimitingPool_Max10_Gets10_MediumPoolables";
  +        
  +        Class         poolableClass = MediumPoolable.class;
  +        ObjectFactory factory = new ClassInstanceObjectFactory( 
poolableClass, m_poolLogger );
  +        int           min          = 0;
  +        int           max          = 10;
  +        boolean       maxStrict    = true;
  +        boolean       blocking     = false;
  +        long          blockTimeout = 0;
  +        long          trimInterval = 0;
  +        
  +        FixedSizePool poolA = new FixedSizePool( factory, max );
  +        
  +        ResourceLimitingPool poolB = new ResourceLimitingPool( factory, max, 
maxStrict, blocking, blockTimeout, trimInterval );
  +        poolB.enableLogging( m_poolLogger );
  +        
  +        generalTest( name, poolA, poolB, 10, poolableClass );
  +    }
  +    
  +    /**
  +     * Compare the FixedSizePool and ResourceLimitingPool when the
  +     *  ResourceLimitingPool is configured to act like a FixedSizePool.
  +     * <p>
  +     * Test will use pools with a max size of 10, while getting up to 10 at 
a time,
  +     *  Poolables are large objects.
  +     */
  +    public void 
testCompare_FixedSizePool_And_ResourceLimitingPool_Max10_Gets10_LargePoolables()
  +        throws Exception
  +    {
  +        String name = 
"FixedSizePool_And_ResourceLimitingPool_Max10_Gets10_LargePoolables";
  +        
  +        Class         poolableClass = LargePoolable.class;
  +        ObjectFactory factory = new ClassInstanceObjectFactory( 
poolableClass, m_poolLogger );
  +        int           min          = 0;
  +        int           max          = 10;
  +        boolean       maxStrict    = true;
  +        boolean       blocking     = false;
  +        long          blockTimeout = 0;
  +        long          trimInterval = 0;
  +        
  +        FixedSizePool poolA = new FixedSizePool( factory, max );
  +        
  +        ResourceLimitingPool poolB = new ResourceLimitingPool( factory, max, 
maxStrict, blocking, blockTimeout, trimInterval );
  +        poolB.enableLogging( m_poolLogger );
  +        
  +        generalTest( name, poolA, poolB, 10, poolableClass );
  +    }
  +    
  +    /*---------------------------------------------------------------
  +     * VariableSizePool vs ResourceLimitingPool TestCases
  +     *-------------------------------------------------------------*/
  +    /**
  +     * Compare the VariableSizePool and ResourceLimitingPool when the
  +     *  ResourceLimitingPool is configured to act like a VariableSizePool.
  +     * <p>
  +     * Test will use pools with a max size of 10, while getting up to 10 at 
a time,
  +     *  Poolables are small objects.
  +     */
  +    public void 
testCompare_VariableSizePool_And_ResourceLimitingPool_Max10_Gets10_SmallPoolables()
  +        throws Exception
  +    {
  +        String name = 
"VariableSizePool_And_ResourceLimitingPool_Max10_Gets10_SmallPoolables";
  +        
  +        Class         poolableClass = SmallPoolable.class;
  +        ObjectFactory factory = new ClassInstanceObjectFactory( 
poolableClass, m_poolLogger );
  +        int           min          = 0;
  +        int           max          = 10;
  +        boolean       maxStrict    = true;
  +        boolean       blocking     = false;
  +        long          blockTimeout = 0;
  +        long          trimInterval = 0;
  +        
  +        VariableSizePool poolA = new VariableSizePool( factory, max );
  +        
  +        ResourceLimitingPool poolB = new ResourceLimitingPool( factory, max, 
maxStrict, blocking, blockTimeout, trimInterval );
  +        poolB.enableLogging( m_poolLogger );
  +        
  +        generalTest( name, poolA, poolB, 10, poolableClass );
  +    }
  +    
  +    /**
  +     * Compare the VariableSizePool and ResourceLimitingPool when the
  +     *  ResourceLimitingPool is configured to act like a VariableSizePool.
  +     * <p>
  +     * Test will use pools with a max size of 10, while getting up to 10 at 
a time,
  +     *  Poolables are medium objects.
  +     */
  +    public void 
testCompare_VariableSizePool_And_ResourceLimitingPool_Max10_Gets10_MediumPoolables()
  +        throws Exception
  +    {
  +        String name = 
"VariableSizePool_And_ResourceLimitingPool_Max10_Gets10_MediumPoolables";
  +        
  +        Class         poolableClass = MediumPoolable.class;
  +        ObjectFactory factory = new ClassInstanceObjectFactory( 
poolableClass, m_poolLogger );
  +        int           min          = 0;
  +        int           max          = 10;
  +        boolean       maxStrict    = true;
  +        boolean       blocking     = false;
  +        long          blockTimeout = 0;
  +        long          trimInterval = 0;
  +        
  +        VariableSizePool poolA = new VariableSizePool( factory, max );
  +        
  +        ResourceLimitingPool poolB = new ResourceLimitingPool( factory, max, 
maxStrict, blocking, blockTimeout, trimInterval );
  +        poolB.enableLogging( m_poolLogger );
  +        
  +        generalTest( name, poolA, poolB, 10, poolableClass );
  +    }
  +    
  +    /**
  +     * Compare the VariableSizePool and ResourceLimitingPool when the
  +     *  ResourceLimitingPool is configured to act like a VariableSizePool.
  +     * <p>
  +     * Test will use pools with a max size of 10, while getting up to 10 at 
a time,
  +     *  Poolables are large objects.
  +     */
  +    public void 
testCompare_VariableSizePool_And_ResourceLimitingPool_Max10_Gets10_LargePoolables()
  +        throws Exception
  +    {
  +        String name = 
"VariableSizePool_And_ResourceLimitingPool_Max10_Gets10_LargePoolables";
  +        
  +        Class         poolableClass = LargePoolable.class;
  +        ObjectFactory factory = new ClassInstanceObjectFactory( 
poolableClass, m_poolLogger );
  +        int           min          = 0;
  +        int           max          = 10;
  +        boolean       maxStrict    = true;
  +        boolean       blocking     = false;
  +        long          blockTimeout = 0;
  +        long          trimInterval = 0;
  +        
  +        VariableSizePool poolA = new VariableSizePool( factory, max );
  +        
  +        ResourceLimitingPool poolB = new ResourceLimitingPool( factory, max, 
maxStrict, blocking, blockTimeout, trimInterval );
  +        poolB.enableLogging( m_poolLogger );
  +        
  +        generalTest( name, poolA, poolB, 10, poolableClass );
  +    }
  +    
       /*---------------------------------------------------------------
        * Test Classes
        *-------------------------------------------------------------*/
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to