org.picocontainer.defaults
Class DefaultPicoContainerLifecycleTestCase

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.jmock.core.VerifyingTestCase
              extended by org.jmock.core.MockObjectSupportTestCase
                  extended by org.jmock.MockObjectTestCase
                      extended by org.picocontainer.defaults.DefaultPicoContainerLifecycleTestCase
All Implemented Interfaces:
junit.framework.Test

public class DefaultPicoContainerLifecycleTestCase
extends org.jmock.MockObjectTestCase

This class tests the lifecycle aspects of DefaultPicoContainer.

Version:
$Revision: 2822 $
Author:
Aslak Hellesøy, Paul Hammant, Ward Cunningham

Nested Class Summary
static class DefaultPicoContainerLifecycleTestCase.FooRunnable
           
static class DefaultPicoContainerLifecycleTestCase.NotStartable
           
 
Field Summary
 
Fields inherited from class org.jmock.core.MockObjectSupportTestCase
ANYTHING, NOT_NULL, NULL
 
Constructor Summary
DefaultPicoContainerLifecycleTestCase()
           
 
Method Summary
 void testCanSpecifyLifeCycleStrategyForInstanceRegistrationWhenSpecifyingComponentAdapterFactory()
           
 void testChildContainerIsStoppedWhenStartedIndependentlyOfParent()
           
 void testComponentsAreStartedBreadthFirstAndStoppedAndDisposedDepthFirst()
           
 void testGetComponentInstancesOnParentContainerHostedChildContainerDoesntReturnParentAdapter()
           
 void testLifecycleCanRecoverWithCustomComponentMonitor()
           
 void testLifecycleDoesNotRecoverWithDefaultComponentMonitor()
           
 void testLifecycleFailuresCanBePickedUpAfterTheEvent()
           
 void testLifecycleIsIgnoredIfAdaptersAreNotLifecycleManagers()
           
 void testLifeCycleStrategyForInstanceRegistrationPassedToChildContainers()
           
 void testMaliciousComponentCannotExistInAChildContainerAndSeeAnyElementOfContainerHierarchy()
           
 void testOnlyStartableComponentsAreStartedOnStart()
           
 void testOrderOfInstantiationShouldBeDependencyOrder()
           
 void testOrderOfStartShouldBeDependencyOrderAndStopAndDisposeTheOpposite()
           
 void testShouldFailOnStartAfterDispose()
           
 void testShouldFailOnStopAfterDispose()
           
 void testShouldStackContainersLast()
           
 void testStartedComponentsCanBeStoppedIfSomeComponentsFailToStart()
           
 void testStartedComponentsCanBeStoppedIfSomeComponentsFailToStartEvenInAPicoHierarchy()
           
 void testStartStartShouldFail()
           
 void testStartStopDisposeDisposeShouldFail()
           
 void testStartStopOfDaemonizedThread()
           
 void testStartStopStopShouldFail()
           
 
Methods inherited from class org.jmock.MockObjectTestCase
atLeastOnce, atMostOnce, defaultMockNameForType, doAll, doAll, doAll, doAll, exactly, mock, mock, never, never, newCoreMock, newDummy, newDummy, newDummy, once, onConsecutiveCalls, onConsecutiveCalls, onConsecutiveCalls, onConsecutiveCalls, returnIterator, returnIterator, returnValue, returnValue, returnValue, returnValue, returnValue, returnValue, returnValue, returnValue, returnValue, throwException
 
Methods inherited from class org.jmock.core.MockObjectSupportTestCase
and, arrayContaining, arrayContaining, arrayContaining, arrayContaining, arrayContaining, arrayContaining, arrayContaining, arrayContaining, arrayContaining, arrayContaining, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, assertThat, collectionContaining, collectionContaining, compatibleType, contains, endsWith, eq, eq, eq, eq, eq, eq, eq, eq, eq, eq, hasProperty, hasProperty, isA, isIn, isIn, mapContaining, mapContaining, mapWithKey, mapWithKey, mapWithValue, mapWithValue, not, or, same, startsWith, stringContains, toString
 
Methods inherited from class org.jmock.core.VerifyingTestCase
registerToVerify, runBare, unregisterToVerify, verify
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, 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
 

Constructor Detail

DefaultPicoContainerLifecycleTestCase

public DefaultPicoContainerLifecycleTestCase()
Method Detail

testOrderOfInstantiationShouldBeDependencyOrder

public void testOrderOfInstantiationShouldBeDependencyOrder()
                                                     throws java.lang.Exception
Throws:
java.lang.Exception

testOrderOfStartShouldBeDependencyOrderAndStopAndDisposeTheOpposite

public void testOrderOfStartShouldBeDependencyOrderAndStopAndDisposeTheOpposite()
                                                                         throws java.lang.Exception
Throws:
java.lang.Exception

testLifecycleIsIgnoredIfAdaptersAreNotLifecycleManagers

public void testLifecycleIsIgnoredIfAdaptersAreNotLifecycleManagers()

testStartStartShouldFail

public void testStartStartShouldFail()
                              throws java.lang.Exception
Throws:
java.lang.Exception

testStartStopStopShouldFail

public void testStartStopStopShouldFail()
                                 throws java.lang.Exception
Throws:
java.lang.Exception

testStartStopDisposeDisposeShouldFail

public void testStartStopDisposeDisposeShouldFail()
                                           throws java.lang.Exception
Throws:
java.lang.Exception

testStartStopOfDaemonizedThread

public void testStartStopOfDaemonizedThread()
                                     throws java.lang.Exception
Throws:
java.lang.Exception

testGetComponentInstancesOnParentContainerHostedChildContainerDoesntReturnParentAdapter

public void testGetComponentInstancesOnParentContainerHostedChildContainerDoesntReturnParentAdapter()

testComponentsAreStartedBreadthFirstAndStoppedAndDisposedDepthFirst

public void testComponentsAreStartedBreadthFirstAndStoppedAndDisposedDepthFirst()

testMaliciousComponentCannotExistInAChildContainerAndSeeAnyElementOfContainerHierarchy

public void testMaliciousComponentCannotExistInAChildContainerAndSeeAnyElementOfContainerHierarchy()

testOnlyStartableComponentsAreStartedOnStart

public void testOnlyStartableComponentsAreStartedOnStart()

testShouldFailOnStartAfterDispose

public void testShouldFailOnStartAfterDispose()

testShouldFailOnStopAfterDispose

public void testShouldFailOnStopAfterDispose()

testShouldStackContainersLast

public void testShouldStackContainersLast()

testCanSpecifyLifeCycleStrategyForInstanceRegistrationWhenSpecifyingComponentAdapterFactory

public void testCanSpecifyLifeCycleStrategyForInstanceRegistrationWhenSpecifyingComponentAdapterFactory()
                                                                                                 throws java.lang.Exception
Throws:
java.lang.Exception

testLifeCycleStrategyForInstanceRegistrationPassedToChildContainers

public void testLifeCycleStrategyForInstanceRegistrationPassedToChildContainers()
                                                                         throws java.lang.Exception
Throws:
java.lang.Exception

testLifecycleDoesNotRecoverWithDefaultComponentMonitor

public void testLifecycleDoesNotRecoverWithDefaultComponentMonitor()

testLifecycleCanRecoverWithCustomComponentMonitor

public void testLifecycleCanRecoverWithCustomComponentMonitor()
                                                       throws java.lang.NoSuchMethodException
Throws:
java.lang.NoSuchMethodException

testLifecycleFailuresCanBePickedUpAfterTheEvent

public void testLifecycleFailuresCanBePickedUpAfterTheEvent()

testStartedComponentsCanBeStoppedIfSomeComponentsFailToStart

public void testStartedComponentsCanBeStoppedIfSomeComponentsFailToStart()

testStartedComponentsCanBeStoppedIfSomeComponentsFailToStartEvenInAPicoHierarchy

public void testStartedComponentsCanBeStoppedIfSomeComponentsFailToStartEvenInAPicoHierarchy()

testChildContainerIsStoppedWhenStartedIndependentlyOfParent

public void testChildContainerIsStoppedWhenStartedIndependentlyOfParent()
                                                                 throws java.lang.Exception
Throws:
java.lang.Exception