001 /***************************************************************************** 002 * Copyright (C) PicoContainer Organization. All rights reserved. * 003 * ------------------------------------------------------------------------- * 004 * The software in this package is published under the terms of the BSD * 005 * style license a copy of which has been included with this distribution in * 006 * the LICENSE.txt file. * 007 *****************************************************************************/ 008 package org.picocontainer.lifecycle; 009 010 import static org.junit.Assert.assertTrue; 011 012 import org.junit.Test; 013 import org.junit.Before; 014 import org.junit.Assert; 015 016 /** 017 * @author Michael Rimov 018 */ 019 public class DefaultLifecycleStateTestCase { 020 021 DefaultLifecycleState dls; 022 023 @Before 024 public void foo() { 025 dls = new DefaultLifecycleState(); 026 } 027 028 @Test public void testNormalLifecycle() { 029 dls.starting(); 030 dls.stopping(); 031 dls.stopped(); 032 dls.disposing(); 033 dls.disposed(); 034 } 035 036 @Test public void testReStartLifecycle() { 037 dls.starting(); 038 dls.stopping(); 039 dls.stopped(); 040 dls.starting(); 041 dls.stopping(); 042 dls.stopped(); 043 } 044 045 @Test public void testDisposalWithoutStarting() { 046 dls.disposing(); 047 dls.disposed(); 048 } 049 050 @Test public void testDisposalWithoutStop() { 051 dls.starting(); 052 try { 053 dls.disposing(); 054 Assert.fail("should have barfed"); 055 } catch (IllegalStateException e) { 056 assertTrue(e.getMessage().endsWith("STARTED")); 057 //expected 058 } 059 } 060 061 @Test public void testStopWithoutStart() { 062 try { 063 dls.stopping(); 064 Assert.fail("should have barfed"); 065 } catch (IllegalStateException e) { 066 assertTrue(e.getMessage().endsWith("CONSTRUCTED")); 067 //expected 068 } 069 } 070 071 }