org.picocontainer.defaults
Class SynchronizedComponentAdapterTestCase

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.picocontainer.defaults.SynchronizedComponentAdapterTestCase
All Implemented Interfaces:
junit.framework.Test

public class SynchronizedComponentAdapterTestCase
extends junit.framework.TestCase

Version:
$Revision: 1572 $
Author:
Thomas Heller, Aslak Hellesøy, Jörg Schaible

Nested Class Summary
 class SynchronizedComponentAdapterTestCase.Blocker
           
(package private)  class SynchronizedComponentAdapterTestCase.Runner
           
static class SynchronizedComponentAdapterTestCase.SlowCtor
           
 
Field Summary
private  int blockerCounter
           
private  SynchronizedComponentAdapterTestCase.Runner[] runner
           
 
Constructor Summary
SynchronizedComponentAdapterTestCase()
           
 
Method Summary
private  void initTest(org.picocontainer.ComponentAdapter componentAdapter)
           
private  void runConcurrencyTest(org.picocontainer.defaults.DefaultPicoContainer pico)
           
 void testRaceConditionIsHandledBySynchronizedComponentAdapter()
           
 void testRaceConditionIsNotHandledWithoutSynchronizedComponentAdapter()
           
 void testSingletonCreationWithSynchronizedAdapterAndDoubleLocking()
           
 void testSingletonCreationWithSynchronizedAdapterOutside()
           
 void testSingletonCreationWithSynchronizedAdapterOutsideUsingFactory()
           
 void THIS_NATURALLY_FAILS_testSingletonCreationRace()
           
 void THIS_NATURALLY_FAILS_testSingletonCreationWithSynchronizedAdapter()
           
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

runner

private SynchronizedComponentAdapterTestCase.Runner[] runner

blockerCounter

private int blockerCounter
Constructor Detail

SynchronizedComponentAdapterTestCase

public SynchronizedComponentAdapterTestCase()
Method Detail

initTest

private void initTest(org.picocontainer.ComponentAdapter componentAdapter)
               throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

testRaceConditionIsHandledBySynchronizedComponentAdapter

public void testRaceConditionIsHandledBySynchronizedComponentAdapter()
                                                              throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

testRaceConditionIsNotHandledWithoutSynchronizedComponentAdapter

public void testRaceConditionIsNotHandledWithoutSynchronizedComponentAdapter()
                                                                      throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

THIS_NATURALLY_FAILS_testSingletonCreationRace

public void THIS_NATURALLY_FAILS_testSingletonCreationRace()
                                                    throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

THIS_NATURALLY_FAILS_testSingletonCreationWithSynchronizedAdapter

public void THIS_NATURALLY_FAILS_testSingletonCreationWithSynchronizedAdapter()
                                                                       throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

testSingletonCreationWithSynchronizedAdapterAndDoubleLocking

public void testSingletonCreationWithSynchronizedAdapterAndDoubleLocking()
                                                                  throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

testSingletonCreationWithSynchronizedAdapterOutside

public void testSingletonCreationWithSynchronizedAdapterOutside()
                                                         throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

testSingletonCreationWithSynchronizedAdapterOutsideUsingFactory

public void testSingletonCreationWithSynchronizedAdapterOutsideUsingFactory()
                                                                     throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

runConcurrencyTest

private void runConcurrencyTest(org.picocontainer.defaults.DefaultPicoContainer pico)
                         throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException