001 package org.picocontainer.containers;
002
003 import static org.junit.Assert.assertSame;
004 import static org.junit.Assert.assertEquals;
005
006 import org.junit.Test;
007 import org.picocontainer.DefaultPicoContainer;
008
009 /**
010 * test capabilities of system properties providing container.
011 * @author Konstantin Pribluda
012 *
013 */
014 public class SystemPropertiesPicoContainerTestCase {
015
016
017 /**
018 * all the content of system properties shall be made available
019 * through this contaienr.
020 */
021 @Test public void testThatAllSystemPropertiesAreCopied() {
022 SystemPropertiesPicoContainer container = new SystemPropertiesPicoContainer();
023 for(Object key: System.getProperties().keySet()) {
024 assertSame(System.getProperties().get(key),container.getComponent(key));
025 }
026 }
027
028 @Test public void testRepresentationOfContainerTree() {
029 SystemPropertiesPicoContainer parent = new SystemPropertiesPicoContainer();
030 parent.setName("parent");
031 DefaultPicoContainer child = new DefaultPicoContainer(parent);
032 child.setName("child");
033 child.addComponent("hello", "goodbye");
034 child.addComponent("bonjour", "aurevior");
035 int num = System.getProperties().size();
036 assertEquals("child:2<I<D<parent:"+num+"<|", child.toString());
037 }
038
039
040 }