Author: clement
Date: Thu Jul 10 06:41:06 2008
New Revision: 675571

URL: http://svn.apache.org/viewvc?rev=675571&view=rev
Log:
Add tests on instance configuration with complex types and new array syntax. 

Added:
    
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ComplexConfiguration.java
    
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/TestComplexProperties.java
Modified:
    
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/ConfigurationTestSuite.java
    
felix/trunk/ipojo/tests/tests.core.configuration/src/main/resources/metadata.xml
    
felix/trunk/ipojo/tests/tests.core.manipulation/src/main/resources/metadata.xml

Added: 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ComplexConfiguration.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ComplexConfiguration.java?rev=675571&view=auto
==============================================================================
--- 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ComplexConfiguration.java
 (added)
+++ 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ComplexConfiguration.java
 Thu Jul 10 06:41:06 2008
@@ -0,0 +1,38 @@
+package org.apache.felix.ipojo.test.scenarios.component;
+
+import java.util.Dictionary;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import 
org.apache.felix.ipojo.test.scenarios.configuration.service.CheckService;
+
+public class ComplexConfiguration implements CheckService {
+    
+    private List m_list;
+    private Map m_map;
+    private Dictionary m_dict;
+    private String[] m_array;
+    
+    private List m_complexList;
+    private Map m_complexMap;
+    private Object[] m_complexArray;
+
+    public boolean check() {
+        return true;
+    }
+    
+
+    public Properties getProps() {
+        Properties props = new Properties();
+        props.put("list", m_list);
+        props.put("map", m_map);
+        props.put("dict", m_dict);
+        props.put("array", m_array);
+        props.put("complex-list", m_complexList);
+        props.put("complex-map", m_complexMap);
+        props.put("complex-array", m_complexArray);
+        return props;
+    }
+
+}

Modified: 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/ConfigurationTestSuite.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/ConfigurationTestSuite.java?rev=675571&r1=675570&r2=675571&view=diff
==============================================================================
--- 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/ConfigurationTestSuite.java
 (original)
+++ 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/ConfigurationTestSuite.java
 Thu Jul 10 06:41:06 2008
@@ -34,7 +34,7 @@
                ots.addTestSuite(TestBothProperties.class);
                ots.addTestSuite(TestSuperMethodProperties.class);
                ots.addTestSuite(ManagedServiceConfigurableProperties.class);
-               
+               ots.addTestSuite(TestComplexProperties.class);
                return ots;
        }
 

Added: 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/TestComplexProperties.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/TestComplexProperties.java?rev=675571&view=auto
==============================================================================
--- 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/TestComplexProperties.java
 (added)
+++ 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/TestComplexProperties.java
 Thu Jul 10 06:41:06 2008
@@ -0,0 +1,189 @@
+package org.apache.felix.ipojo.test.scenarios.configuration;
+
+import java.util.Dictionary;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.felix.ipojo.junit4osgi.OSGiTestCase;
+import 
org.apache.felix.ipojo.test.scenarios.configuration.service.CheckService;
+import org.apache.felix.ipojo.test.scenarios.util.Utils;
+import org.osgi.framework.ServiceReference;
+
+public class TestComplexProperties extends OSGiTestCase {
+    
+    private ServiceReference m_ref;
+    private CheckService m_check;
+    
+    public void setUp() {
+       m_ref = Utils.getServiceReferenceByName(context, 
CheckService.class.getName(), "complex");
+       assertNotNull("Complex service availability", m_ref);
+       m_check = (CheckService) context.getService(m_ref);
+    }
+    
+    public void tearDown() {
+        m_check = null;
+        context.ungetService(m_ref);
+    }
+    
+    public void testArray() {
+        String[] array = (String[]) m_check.getProps().get("array");
+        assertEquals("Array size", 2, array.length);
+        assertEquals("Array[0]", "a", array[0]);
+        assertEquals("Array[1]", "b", array[1]);
+    }
+    
+    public void testList() {
+        List list = (List) m_check.getProps().get("list");
+        assertEquals("List size", 2, list.size());
+        assertEquals("List[0]", "a", list.get(0));
+        assertEquals("List[1]", "b", list.get(1));
+    }
+    
+    public void testMap() {
+        Map map = (Map) m_check.getProps().get("map");
+        assertEquals("Map size", 2, map.size());
+        assertEquals("Map[a]", "a", map.get("a"));
+        assertEquals("Map[b]", "b", map.get("b"));
+    }
+    
+    public void testDictionary() {
+        Dictionary dict = (Dictionary) m_check.getProps().get("dict");
+        assertEquals("Map size", 2, dict.size());
+        assertEquals("Map[a]", "a", dict.get("a"));
+        assertEquals("Map[b]", "b", dict.get("b"));
+    }
+    
+    public void testComplexArray() {
+        Object[] array = (Object[]) m_check.getProps().get("complex-array");
+        assertEquals("Array size", 2, array.length);
+        assertTrue("Array[0] type", array[0] instanceof List);
+        assertTrue("Array[1] type", array[1] instanceof List);
+        List list = (List) array[0];
+        assertEquals("List size", 2, list.size());
+        assertEquals("List[0]", "a", list.get(0));
+        assertEquals("List[1]", "b", list.get(1));
+        list = (List) array[1];
+        assertEquals("List size - 2", 2, list.size());
+        assertEquals("List[0] - 2", "c", list.get(0));
+        assertEquals("List[1] - 2", "d", list.get(1));
+    }
+    
+    public void testComplexList() {
+        List list = (List) m_check.getProps().get("complex-list");
+        assertEquals("List size", 2, list.size());
+        assertTrue("List[0] type", list.get(0) instanceof List);
+        assertTrue("List[1] type", list.get(1) instanceof List);
+        List list1 = (List) list.get(0);
+        assertEquals("List size - 1", 2, list1.size());
+        assertEquals("List[0] - 1", "a", list1.get(0));
+        assertEquals("List[1] - 1", "b", list1.get(1));
+        list1 = (List) list.get(1);
+        assertEquals("List size - 2", 2, list1.size());
+        assertEquals("List[0] - 2", "c", list1.get(0));
+        assertEquals("List[1] - 2", "d", list1.get(1));
+    }
+    
+    public void testComplexMap() {
+        Map map = (Map) m_check.getProps().get("complex-map");
+        assertEquals("List size", 2, map.size());
+        assertTrue("List[0] type", map.get("a") instanceof List);
+        assertTrue("List[1] type", map.get("b") instanceof List);
+        List list = (List) map.get("a");
+        assertEquals("List size - 1", 2, list.size());
+        assertEquals("List[0] - 1", "a", list.get(0));
+        assertEquals("List[1] - 1", "b", list.get(1));
+        list = (List) map.get("b");
+        assertEquals("List size - 2", 2, list.size());
+        assertEquals("List[0] - 2", "c", list.get(0));
+        assertEquals("List[1] - 2", "d", list.get(1));
+    }
+    
+    public void testServiceArray() {
+        String[] array = (String[]) m_ref.getProperty("array");
+        assertEquals("Array size", 2, array.length);
+        assertEquals("Array[0]", "a", array[0]);
+        assertEquals("Array[1]", "b", array[1]);
+    }
+    
+    public void testServiceList() {
+        List list = (List) m_ref.getProperty("list");
+        assertEquals("List size", 2, list.size());
+        assertEquals("List[0]", "a", list.get(0));
+        assertEquals("List[1]", "b", list.get(1));
+    }
+    
+    public void testServiceMap() {
+        Map map = (Map) m_ref.getProperty("map");
+        assertEquals("Map size", 2, map.size());
+        assertEquals("Map[a]", "a", map.get("a"));
+        assertEquals("Map[b]", "b", map.get("b"));
+    }
+    
+    public void testServiceDictionary() {
+        Dictionary dict = (Dictionary) m_ref.getProperty("dict");
+        assertEquals("Map size", 2, dict.size());
+        assertEquals("Map[a]", "a", dict.get("a"));
+        assertEquals("Map[b]", "b", dict.get("b"));
+    }
+    
+    public void testServiceComplexArray() {
+        Object[] array = (Object[]) m_ref.getProperty("complex-array");
+        assertEquals("Array size", 2, array.length);
+        assertTrue("Array[0] type", array[0] instanceof List);
+        assertTrue("Array[1] type", array[1] instanceof List);
+        List list = (List) array[0];
+        assertEquals("List size", 2, list.size());
+        assertEquals("List[0]", "a", list.get(0));
+        assertEquals("List[1]", "b", list.get(1));
+        list = (List) array[1];
+        assertEquals("List size - 2", 2, list.size());
+        assertEquals("List[0] - 2", "c", list.get(0));
+        assertEquals("List[1] - 2", "d", list.get(1));
+    }
+    
+    public void testServiceComplexList() {
+        List list = (List) m_ref.getProperty("complex-list");
+        assertEquals("List size", 2, list.size());
+        assertTrue("List[0] type", list.get(0) instanceof List);
+        assertTrue("List[1] type", list.get(1) instanceof List);
+        List list1 = (List) list.get(0);
+        assertEquals("List size - 1", 2, list1.size());
+        assertEquals("List[0] - 1", "a", list1.get(0));
+        assertEquals("List[1] - 1", "b", list1.get(1));
+        list1 = (List) list.get(1);
+        assertEquals("List size - 2", 2, list1.size());
+        assertEquals("List[0] - 2", "c", list1.get(0));
+        assertEquals("List[1] - 2", "d", list1.get(1));
+    }
+    
+    public void testServiceComplexMap() {
+        Map map = (Map) m_ref.getProperty("complex-map");
+        assertEquals("List size", 2, map.size());
+        assertTrue("List[0] type", map.get("a") instanceof List);
+        assertTrue("List[1] type", map.get("b") instanceof List);
+        List list = (List) map.get("a");
+        assertEquals("List size - 1", 2, list.size());
+        assertEquals("List[0] - 1", "a", list.get(0));
+        assertEquals("List[1] - 1", "b", list.get(1));
+        list = (List) map.get("b");
+        assertEquals("List size - 2", 2, list.size());
+        assertEquals("List[0] - 2", "c", list.get(0));
+        assertEquals("List[1] - 2", "d", list.get(1));
+    }
+    
+    public void testServiceEmptyArray() {
+        String[] array = (String[]) m_ref.getProperty("empty-array");
+        assertEquals("Array size", 0, array.length);
+    }
+    
+    public void testServiceEmptyList() {
+        List list = (List) m_ref.getProperty("empty-list");
+        assertEquals("List size", 0, list.size());
+    }
+    
+    public void testServiceEmptyMap() {
+        Map map = (Map) m_ref.getProperty("empty-map");
+        assertEquals("Map size", 0, map.size());
+    }
+
+}

Modified: 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/resources/metadata.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.core.configuration/src/main/resources/metadata.xml?rev=675571&r1=675570&r2=675571&view=diff
==============================================================================
--- 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/resources/metadata.xml
 (original)
+++ 
felix/trunk/ipojo/tests/tests.core.configuration/src/main/resources/metadata.xml
 Thu Jul 10 06:41:06 2008
@@ -145,4 +145,83 @@
                </properties>
        </component>
        
+       <component
+               
classname="org.apache.felix.ipojo.test.scenarios.component.ComplexConfiguration">
+               <provides>
+                       <property name="array" field="m_array"/>
+                       <property name="complex-array" field="m_complexArray"/>
+                       <property name="list" field="m_list"/>
+                       <property name="complex-list" field="m_complexList"/>
+                       <property name="map" field="m_map"/>
+                       <property name="complex-map" field="m_complexMap"/>
+                       <property name="dict" field="m_dict"/>
+                       <property name="empty-array" type="String[]"/>
+                       <property name="empty-map" type="java.util.HashMap"/>
+                       <property name="empty-list" type="java.util.List"/>
+               </provides>
+               <properties>
+                       <property name="array" field="m_array"/>
+                       <property name="complex-array" field="m_complexArray"/>
+                       <property name="list" field="m_list"/>
+                       <property name="complex-list" field="m_complexList"/>
+                       <property name="map" field="m_map"/>
+                       <property name="complex-map" field="m_complexMap"/>
+                       <property name="dict" field="m_dict"/>
+               </properties>
+       </component>
+       
+       <instance 
component="org.apache.felix.ipojo.test.scenarios.component.ComplexConfiguration"
 name="complex">
+               <property name="array" type="array">
+                       <property value="a"/>
+                       <property value="b"/>
+               </property>
+               <property name="list" type="list">
+                       <property value="a"/>
+                       <property value="b"/>
+               </property>
+               <property name="dict" type="dictionary">
+                       <property name="a" value="a"/>
+                       <property name="b" value="b"/>
+               </property>
+               <property name="map" type="map">
+                       <property name="a" value="a"/>
+                       <property name="b" value="b"/>
+               </property>
+               <property name="complex-array" type="array">
+                       <property type="list">
+                               <property value="a"/>
+                               <property value="b"/>
+                       </property>
+                       <property type="list">
+                               <property value="c"/>
+                               <property value="d"/>
+                       </property>
+               </property>
+               <property name="complex-list" type="list">
+                       <property type="list">
+                               <property value="a"/>
+                               <property value="b"/>
+                       </property>
+                       <property type="list">
+                               <property value="c"/>
+                               <property value="d"/>
+                       </property>
+               </property>
+               <property name="complex-map" type="map">
+                       <property name="a" type="list">
+                               <property value="a"/>
+                               <property value="b"/>
+                       </property>
+                       <property name="b" type="list">
+                               <property value="c"/>
+                               <property value="d"/>
+                       </property>
+               </property>
+               <property name="empty-array" type="array"/>
+               <property name="empty-list" type="list"/>
+               <property name="empty-map" type="map"/>
+       </instance>
+               
+               
+       
 </ipojo>

Modified: 
felix/trunk/ipojo/tests/tests.core.manipulation/src/main/resources/metadata.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.core.manipulation/src/main/resources/metadata.xml?rev=675571&r1=675570&r2=675571&view=diff
==============================================================================
--- 
felix/trunk/ipojo/tests/tests.core.manipulation/src/main/resources/metadata.xml 
(original)
+++ 
felix/trunk/ipojo/tests/tests.core.manipulation/src/main/resources/metadata.xml 
Thu Jul 10 06:41:06 2008
@@ -30,8 +30,8 @@
                        <property name="boolean" field="boolProp" value="false" 
/>
                        <property name="string" field="strProp" value="foo" />
                        <property name="strAProp" field="strAProp"
-                               value="{foo, bar}" />
-                       <property name="intAProp" field="intAProp" value="{ 
1,2,3}" />
+                               value="[foo, bar]" />
+                       <property name="intAProp" field="intAProp" value="[ 
1,2,3]" />
                </provides>
        </component>
        


Reply via email to