001 package org.picocontainer.behaviors;
002
003 import static org.junit.Assert.assertNotNull;
004 import static org.junit.Assert.assertNull;
005 import static org.picocontainer.Characteristics.LOCK;
006 import static org.picocontainer.Characteristics.NO_LOCK;
007
008 import org.junit.Test;
009 import org.picocontainer.ComponentFactory;
010 import org.picocontainer.MutablePicoContainer;
011 import org.picocontainer.PicoBuilder;
012 import org.picocontainer.injectors.AdaptingInjection;
013 import org.picocontainer.tck.AbstractComponentFactoryTest;
014
015
016 public class LockingTestCase extends AbstractComponentFactoryTest {
017
018 private final ComponentFactory locking = new Locking().wrap(new AdaptingInjection());
019
020
021 @Test
022 public void testPicocontainerPropertiesIntegration() {
023 MutablePicoContainer mpc = new PicoBuilder().withBehaviors(new Locking()).build();
024 mpc.as(LOCK).addComponent("locked","It is locked");
025 mpc.as(NO_LOCK).addComponent("not locked", "It is not locked");
026
027 assertNotNull(mpc.getComponentAdapter("locked").findAdapterOfType(Locked.class));
028 assertNull(mpc.getComponentAdapter("not locked").findAdapterOfType(Locked.class));
029
030 }
031
032 @Override
033 protected ComponentFactory createComponentFactory() {
034 return locking;
035 }
036
037 }