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>