001package org.picocontainer.containers; 002 003import static org.junit.Assert.assertSame; 004import static org.junit.Assert.assertEquals; 005 006import org.junit.Test; 007import org.picocontainer.DefaultPicoContainer; 008 009/** 010 * test capabilities of system properties providing container. 011 * @author Konstantin Pribluda 012 * 013 */ 014public 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<[Immutable]:[SysProps]:parent:"+num+"<|", child.toString()); 037 } 038 039 040}