Added: 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/InjectorTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/InjectorTestCase.java?view=auto&rev=471277
==============================================================================
--- 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/InjectorTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/InjectorTestCase.java
 Sat Nov  4 14:15:56 2006
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.persistence.datasource;
+
+import java.lang.reflect.Method;
+
+import org.apache.tuscany.spi.ObjectFactory;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class InjectorTestCase extends TestCase {
+
+    @SuppressWarnings("unchecked")
+    public void testInject() throws Exception {
+        Method m = Foo.class.getMethod("setVal", String.class);
+        ObjectFactory factory = EasyMock.createMock(ObjectFactory.class);
+        EasyMock.expect(factory.getInstance()).andReturn("foo");
+        EasyMock.replay(factory);
+        Injector injector = new Injector(m, factory);
+        Foo foo = new Foo();
+        injector.inject(foo);
+        assertEquals("foo", foo.val);
+        EasyMock.verify(factory);
+    }
+
+    private class Foo {
+        private String val;
+
+        public void setVal(String val) {
+            this.val = val;
+        }
+    }
+}

Propchange: 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/InjectorTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/InjectorTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ParameterObjectFactoryTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ParameterObjectFactoryTestCase.java?view=auto&rev=471277
==============================================================================
--- 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ParameterObjectFactoryTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ParameterObjectFactoryTestCase.java
 Sat Nov  4 14:15:56 2006
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.persistence.datasource;
+
+import java.beans.PropertyEditor;
+import java.beans.PropertyEditorManager;
+
+import org.apache.tuscany.spi.ObjectCreationException;
+
+import junit.framework.TestCase;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ParameterObjectFactoryTestCase extends TestCase {
+
+    public void testGetValue() throws Exception {
+        PropertyEditor editor = PropertyEditorManager.findEditor(Integer.TYPE);
+        ParameterObjectFactory<Integer> factory = new 
ParameterObjectFactory<Integer>(editor, "1");
+        assertEquals(new Integer(1), factory.getInstance());
+    }
+
+    public void testGetInvalidValue() throws Exception {
+        PropertyEditor editor = PropertyEditorManager.findEditor(Integer.TYPE);
+        try {
+            ParameterObjectFactory<Integer> factory = new 
ParameterObjectFactory<Integer>(editor, "D");
+            factory.getInstance();
+            fail();
+        } catch (ObjectCreationException e) {
+            // expected
+        }
+    }
+
+}

Propchange: 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ParameterObjectFactoryTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ParameterObjectFactoryTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ProviderObjectFactoryTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ProviderObjectFactoryTestCase.java?view=auto&rev=471277
==============================================================================
--- 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ProviderObjectFactoryTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ProviderObjectFactoryTestCase.java
 Sat Nov  4 14:15:56 2006
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.persistence.datasource;
+
+import java.beans.PropertyEditor;
+import java.beans.PropertyEditorManager;
+import java.io.PrintWriter;
+import java.lang.reflect.Method;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import javax.sql.DataSource;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ProviderObjectFactoryTestCase extends TestCase {
+
+    public void testInstantiation() throws Exception {
+        List<Injector> injectors = new ArrayList<Injector>();
+        Method m = Provider.class.getMethod("setVal", Integer.TYPE);
+        PropertyEditor editor = PropertyEditorManager.findEditor(Integer.TYPE);
+        injectors.add(new Injector(m, new 
ParameterObjectFactory<Integer>(editor, "1")));
+        ProviderObjectFactory factory = new 
ProviderObjectFactory(Provider.class, injectors);
+        DataSource ds = factory.getInstance();
+        Provider provider = (Provider) ds;
+        assertEquals(1, provider.getVal());
+    }
+
+    public void testInitInstantiation() throws Exception {
+        List<Injector> injectors = new ArrayList<Injector>();
+        Method m = DSProvider.class.getMethod("setVal", Integer.TYPE);
+        PropertyEditor editor = PropertyEditorManager.findEditor(Integer.TYPE);
+        injectors.add(new Injector(m, new 
ParameterObjectFactory<Integer>(editor, "1")));
+        ProviderObjectFactory factory = new 
ProviderObjectFactory(DSProvider.class, injectors);
+        assertNotNull(factory.getInstance());
+
+    }
+
+    public static class Provider implements DataSource {
+        private int val;
+
+        public Provider() {
+        }
+
+        public int getVal() {
+            return val;
+        }
+
+        public void setVal(int val) {
+            this.val = val;
+        }
+
+        public Connection getConnection() throws SQLException {
+            return null;
+        }
+
+        public Connection getConnection(String username, String password) 
throws SQLException {
+            return null;
+        }
+
+        public PrintWriter getLogWriter() throws SQLException {
+            return null;
+        }
+
+        public void setLogWriter(PrintWriter out) throws SQLException {
+
+        }
+
+        public void setLoginTimeout(int seconds) throws SQLException {
+
+        }
+
+        public int getLoginTimeout() throws SQLException {
+            return 0;
+        }
+    }
+
+    public static class DSProvider implements DataSourceProvider {
+        private int val;
+        private boolean initialized;
+
+        public DSProvider() {
+        }
+
+        public int getVal() {
+            return val;
+        }
+
+        public void setVal(int val) {
+            this.val = val;
+        }
+
+        public boolean isInitialized() {
+            return initialized;
+        }
+
+        public void init() {
+            if (val != 1) {
+                fail();
+            }
+            initialized = true;
+        }
+
+
+        public void close() {
+
+        }
+
+        public DataSource getDataSource() throws ProviderException {
+            if (!initialized) {
+                fail();
+            }
+            return EasyMock.createNiceMock(DataSource.class);
+        }
+    }
+
+}

Propchange: 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ProviderObjectFactoryTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/ProviderObjectFactoryTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to