001 package org.picocontainer.defaults.issues; 002 003 import org.junit.Test;import static org.junit.Assert.assertFalse; 004 import org.picocontainer.Startable; 005 import org.picocontainer.DefaultPicoContainer; 006 import org.picocontainer.ComponentAdapter; 007 import org.picocontainer.Characteristics; 008 import org.picocontainer.behaviors.Cached; 009 010 public class Issue0353TestCase { 011 012 public static class FooStartable implements Startable { 013 public void start() { 014 // empty 015 } 016 017 public void stop() { 018 // empty 019 } 020 } 021 022 @Test 023 public void testIsStartedShouldNotThrowOnNonStartedComponent() { 024 DefaultPicoContainer cont = new DefaultPicoContainer(); 025 cont.as(Characteristics.CACHE).addComponent(FooStartable.class); 026 ComponentAdapter<?> adapter = cont.getComponentAdapter(FooStartable.class); 027 Cached cached = adapter.findAdapterOfType(Cached.class); 028 029 // this line throws - instead of returning false 030 assertFalse(cached.isStarted()); 031 } 032 033 }