Modified: struts/shale/trunk/tiger/src/test/org/apache/shale/tiger/faces/VariableResolverImplTestCase.java URL: http://svn.apache.org/viewcvs/struts/shale/trunk/tiger/src/test/org/apache/shale/tiger/faces/VariableResolverImplTestCase.java?rev=356734&r1=356733&r2=356734&view=diff ============================================================================== --- struts/shale/trunk/tiger/src/test/org/apache/shale/tiger/faces/VariableResolverImplTestCase.java (original) +++ struts/shale/trunk/tiger/src/test/org/apache/shale/tiger/faces/VariableResolverImplTestCase.java Tue Dec 13 21:14:36 2005 @@ -1,254 +1,254 @@ -/* - * Copyright 2004-2005 The Apache Software Foundation. - * - * Licensed 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.shale.tiger.faces; - -import java.io.File; -import java.util.Map; -import java.util.Set; -import javax.servlet.ServletContextEvent; -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.apache.shale.test.base.AbstractJsfTestCase; -import org.apache.shale.tiger.config.FacesConfigConfig; -import org.apache.shale.tiger.config.TestBean; -import org.apache.shale.tiger.managed.config.ManagedBeanConfig; -import org.apache.shale.tiger.managed.config.ManagedPropertyConfig; - -/** - * <p>Test case for <code>org.apache.shale.tiger.faces.VariableResolverImpl</code>.</p> - */ -public class VariableResolverImplTestCase extends AbstractJsfTestCase { - - - // ------------------------------------------------------------ Constructors - - - // Construct a new instance of this test case - public VariableResolverImplTestCase(String name) { - super(name); - } - - - // ---------------------------------------------------- Overall Test Methods - - - // Set up instance variables required by this test case. - public void setUp() { - - // Set up mock web application environment - super.setUp(); - servletContext.addInitParameter("javax.faces.CONFIG_FILES", - "/WEB-INF/test-config-0.xml," + - "/WEB-INF/test-config-1.xml," + - "/WEB-INF/test-config-2.xml," + - "/WEB-INF/test-config-3.xml"); - File root = new File(System.getProperty("basedir") + "/target/test-webapp"); - servletContext.setDocumentRoot(root); - - // Process our configuration information - listener = new LifecycleListener(); - listener.contextInitialized(new ServletContextEvent(servletContext)); - - // Create resolver instance to be tested - // (Force NPEs on delegation use cases by default) - resolver = new VariableResolverImpl(null); - - } - - - // Return the tests included in this test case. - public static Test suite() { - return new TestSuite(VariableResolverImplTestCase.class); - } - - - // Tear down instance variables required by this test case - public void tearDown() { - - // Release tested instances - resolver = null; - - // Finalize our context listener - listener.contextDestroyed(new ServletContextEvent(servletContext)); - listener = null; - - // Tear down the mock web application environment - super.tearDown(); - - } - - - // ------------------------------------------------------ Instance Variables - - - // LifecycleListener instance to be tested - LifecycleListener listener = null; - - // VariableResolverImpl instance to be tested - VariableResolverImpl resolver = null; - - - // ------------------------------------------------------------ Test Methods - - - // Test creating "bean0" - public void testBean0() { - - TestBean bean = (TestBean) resolver.resolveVariable(facesContext, "bean0"); - assertNotNull(bean); - assertEquals((byte) 1, bean.getByteProperty()); - assertEquals('a', bean.getCharProperty()); - assertEquals((double) 2.0, bean.getDoubleProperty()); - assertEquals((float) 3.0, bean.getFloatProperty()); - assertEquals(4, bean.getIntProperty()); - assertEquals((long) 5, bean.getLongProperty()); - assertEquals((short) 6, bean.getShortProperty()); - assertNull(bean.getStringProperty()); // Overridden in test-config-1.xml - - } - - - // Test creating "bean1" - public void testBean1() { - - TestBean bean = (TestBean) resolver.resolveVariable(facesContext, "bean1"); - assertNotNull(bean); - assertEquals((byte) 11, bean.getByteProperty()); // Configured - assertEquals('a', bean.getCharProperty()); // Defaulted - assertEquals((double) 222.0, bean.getDoubleProperty()); // Configured and overridden - assertEquals((float) 3.0, bean.getFloatProperty()); // Defaulted - assertEquals(44, bean.getIntProperty()); // Configured - assertEquals((long) 5, bean.getLongProperty()); // Defaulted - assertEquals((short) 6, bean.getShortProperty()); // Defaulted - assertEquals("String", bean.getStringProperty()); // Defaulted - - } - - - // Test creating "bean2" - public void testBean2() { - - TestBean bean = (TestBean) resolver.resolveVariable(facesContext, "bean2"); - assertNotNull(bean); - assertEquals((byte) -1, bean.getByteProperty()); // Annotated - assertEquals('z', bean.getCharProperty()); // Annotated - assertEquals((double) -2.0, bean.getDoubleProperty()); // Annotated - assertEquals((float) -3.0, bean.getFloatProperty()); // Annotated - assertEquals(-4, bean.getIntProperty()); // Annotated - assertEquals((long) -5, bean.getLongProperty()); // Annotated - assertEquals((short) -6, bean.getShortProperty()); // Annotated - assertEquals("Override The Annotation", bean.getStringProperty()); // Annotated and overridden - - } - - - // Test creating "bean3" - public void testBean3() { - - // We need to hook into the rest of the expression evaluation framework, - // since we will be evaluating expressions to initialize property values - resolver = new VariableResolverImpl(application.getVariableResolver()); - application.setVariableResolver(resolver); - - // The configuration metadata for "bean3" sets *all* of the properties - // of the new bean to match the corresponding property values for "bean1". - // Therefore, all of the assertions below should match the corresponding - // assertions from testBean1(). - TestBean bean = (TestBean) resolver.resolveVariable(facesContext, "bean3"); - assertNotNull(bean); - assertEquals((byte) 11, bean.getByteProperty()); // Configured - assertEquals('a', bean.getCharProperty()); // Defaulted - assertEquals((double) 222.0, bean.getDoubleProperty()); // Configured and overridden - assertEquals((float) 3.0, bean.getFloatProperty()); // Defaulted - assertEquals(44, bean.getIntProperty()); // Configured - assertEquals((long) 5, bean.getLongProperty()); // Defaulted - assertEquals((short) 6, bean.getShortProperty()); // Defaulted - assertEquals("String", bean.getStringProperty()); // Defaulted - - } - - - // Test creating existing bean name (delegating) - public void testExistingDelegating() { - - resolver = new VariableResolverImpl(application.getVariableResolver()); - application.setVariableResolver(resolver); - externalContext.getRequestMap().put("existing", "This is an existing object"); - Object instance = resolver.resolveVariable(facesContext, "existing"); - assertNotNull(instance); - assertTrue(instance instanceof String); - assertEquals("This is an existing object", instance); - - } - - - // Test creating existing bean name (plain) - public void testExistingPlain() { - - externalContext.getRequestMap().put("existing", "This is an existing object"); - Object instance = null; - try { - instance = resolver.resolveVariable(facesContext, "existing"); - fail("Should have thrown NullPointerException"); - } catch (NullPointerException e) { - ; // Expected result - } - - } - - - // Test pristine instance of the resolver - public void testPristine() { - - assertNotNull(resolver); - assertNotNull(application.getVariableResolver()); - FacesConfigConfig config = (FacesConfigConfig) - externalContext.getApplicationMap(). - get(LifecycleListener.FACES_CONFIG_CONFIG); - assertNotNull(config); - assertEquals(4, config.getManagedBeans().size()); - - } - - - // Test creating unknown bean name (delegating) - public void testUnknownDelegating() { - - resolver = new VariableResolverImpl(application.getVariableResolver()); - application.setVariableResolver(resolver); - Object instance = resolver.resolveVariable(facesContext, "unknown"); - assertNull(instance); - - } - - - // Test creating unknown bean name (plain) - public void testUnknownPlain() { - - Object instance = null; - try { - instance = resolver.resolveVariable(facesContext, "unknown"); - fail("Should have thrown NullPointerException"); - } catch (NullPointerException e) { - ; // Expected result - } - - } - - -} +/* + * Copyright 2004-2005 The Apache Software Foundation. + * + * Licensed 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.shale.tiger.faces; + +import java.io.File; +import java.util.Map; +import java.util.Set; +import javax.servlet.ServletContextEvent; +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; +import org.apache.shale.test.base.AbstractJsfTestCase; +import org.apache.shale.tiger.config.FacesConfigConfig; +import org.apache.shale.tiger.config.TestBean; +import org.apache.shale.tiger.managed.config.ManagedBeanConfig; +import org.apache.shale.tiger.managed.config.ManagedPropertyConfig; + +/** + * <p>Test case for <code>org.apache.shale.tiger.faces.VariableResolverImpl</code>.</p> + */ +public class VariableResolverImplTestCase extends AbstractJsfTestCase { + + + // ------------------------------------------------------------ Constructors + + + // Construct a new instance of this test case + public VariableResolverImplTestCase(String name) { + super(name); + } + + + // ---------------------------------------------------- Overall Test Methods + + + // Set up instance variables required by this test case. + public void setUp() { + + // Set up mock web application environment + super.setUp(); + servletContext.addInitParameter("javax.faces.CONFIG_FILES", + "/WEB-INF/test-config-0.xml," + + "/WEB-INF/test-config-1.xml," + + "/WEB-INF/test-config-2.xml," + + "/WEB-INF/test-config-3.xml"); + File root = new File(System.getProperty("basedir") + "/target/test-webapp"); + servletContext.setDocumentRoot(root); + + // Process our configuration information + listener = new LifecycleListener(); + listener.contextInitialized(new ServletContextEvent(servletContext)); + + // Create resolver instance to be tested + // (Force NPEs on delegation use cases by default) + resolver = new VariableResolverImpl(null); + + } + + + // Return the tests included in this test case. + public static Test suite() { + return new TestSuite(VariableResolverImplTestCase.class); + } + + + // Tear down instance variables required by this test case + public void tearDown() { + + // Release tested instances + resolver = null; + + // Finalize our context listener + listener.contextDestroyed(new ServletContextEvent(servletContext)); + listener = null; + + // Tear down the mock web application environment + super.tearDown(); + + } + + + // ------------------------------------------------------ Instance Variables + + + // LifecycleListener instance to be tested + LifecycleListener listener = null; + + // VariableResolverImpl instance to be tested + VariableResolverImpl resolver = null; + + + // ------------------------------------------------------------ Test Methods + + + // Test creating "bean0" + public void testBean0() { + + TestBean bean = (TestBean) resolver.resolveVariable(facesContext, "bean0"); + assertNotNull(bean); + assertEquals((byte) 1, bean.getByteProperty()); + assertEquals('a', bean.getCharProperty()); + assertEquals((double) 2.0, bean.getDoubleProperty()); + assertEquals((float) 3.0, bean.getFloatProperty()); + assertEquals(4, bean.getIntProperty()); + assertEquals((long) 5, bean.getLongProperty()); + assertEquals((short) 6, bean.getShortProperty()); + assertNull(bean.getStringProperty()); // Overridden in test-config-1.xml + + } + + + // Test creating "bean1" + public void testBean1() { + + TestBean bean = (TestBean) resolver.resolveVariable(facesContext, "bean1"); + assertNotNull(bean); + assertEquals((byte) 11, bean.getByteProperty()); // Configured + assertEquals('a', bean.getCharProperty()); // Defaulted + assertEquals((double) 222.0, bean.getDoubleProperty()); // Configured and overridden + assertEquals((float) 3.0, bean.getFloatProperty()); // Defaulted + assertEquals(44, bean.getIntProperty()); // Configured + assertEquals((long) 5, bean.getLongProperty()); // Defaulted + assertEquals((short) 6, bean.getShortProperty()); // Defaulted + assertEquals("String", bean.getStringProperty()); // Defaulted + + } + + + // Test creating "bean2" + public void testBean2() { + + TestBean bean = (TestBean) resolver.resolveVariable(facesContext, "bean2"); + assertNotNull(bean); + assertEquals((byte) -1, bean.getByteProperty()); // Annotated + assertEquals('z', bean.getCharProperty()); // Annotated + assertEquals((double) -2.0, bean.getDoubleProperty()); // Annotated + assertEquals((float) -3.0, bean.getFloatProperty()); // Annotated + assertEquals(-4, bean.getIntProperty()); // Annotated + assertEquals((long) -5, bean.getLongProperty()); // Annotated + assertEquals((short) -6, bean.getShortProperty()); // Annotated + assertEquals("Override The Annotation", bean.getStringProperty()); // Annotated and overridden + + } + + + // Test creating "bean3" + public void testBean3() { + + // We need to hook into the rest of the expression evaluation framework, + // since we will be evaluating expressions to initialize property values + resolver = new VariableResolverImpl(application.getVariableResolver()); + application.setVariableResolver(resolver); + + // The configuration metadata for "bean3" sets *all* of the properties + // of the new bean to match the corresponding property values for "bean1". + // Therefore, all of the assertions below should match the corresponding + // assertions from testBean1(). + TestBean bean = (TestBean) resolver.resolveVariable(facesContext, "bean3"); + assertNotNull(bean); + assertEquals((byte) 11, bean.getByteProperty()); // Configured + assertEquals('a', bean.getCharProperty()); // Defaulted + assertEquals((double) 222.0, bean.getDoubleProperty()); // Configured and overridden + assertEquals((float) 3.0, bean.getFloatProperty()); // Defaulted + assertEquals(44, bean.getIntProperty()); // Configured + assertEquals((long) 5, bean.getLongProperty()); // Defaulted + assertEquals((short) 6, bean.getShortProperty()); // Defaulted + assertEquals("String", bean.getStringProperty()); // Defaulted + + } + + + // Test creating existing bean name (delegating) + public void testExistingDelegating() { + + resolver = new VariableResolverImpl(application.getVariableResolver()); + application.setVariableResolver(resolver); + externalContext.getRequestMap().put("existing", "This is an existing object"); + Object instance = resolver.resolveVariable(facesContext, "existing"); + assertNotNull(instance); + assertTrue(instance instanceof String); + assertEquals("This is an existing object", instance); + + } + + + // Test creating existing bean name (plain) + public void testExistingPlain() { + + externalContext.getRequestMap().put("existing", "This is an existing object"); + Object instance = null; + try { + instance = resolver.resolveVariable(facesContext, "existing"); + fail("Should have thrown NullPointerException"); + } catch (NullPointerException e) { + ; // Expected result + } + + } + + + // Test pristine instance of the resolver + public void testPristine() { + + assertNotNull(resolver); + assertNotNull(application.getVariableResolver()); + FacesConfigConfig config = (FacesConfigConfig) + externalContext.getApplicationMap(). + get(LifecycleListener.FACES_CONFIG_CONFIG); + assertNotNull(config); + assertEquals(4, config.getManagedBeans().size()); + + } + + + // Test creating unknown bean name (delegating) + public void testUnknownDelegating() { + + resolver = new VariableResolverImpl(application.getVariableResolver()); + application.setVariableResolver(resolver); + Object instance = resolver.resolveVariable(facesContext, "unknown"); + assertNull(instance); + + } + + + // Test creating unknown bean name (plain) + public void testUnknownPlain() { + + Object instance = null; + try { + instance = resolver.resolveVariable(facesContext, "unknown"); + fail("Should have thrown NullPointerException"); + } catch (NullPointerException e) { + ; // Expected result + } + + } + + +}
Propchange: struts/shale/trunk/tiger/src/test/org/apache/shale/tiger/faces/VariableResolverImplTestCase.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: struts/shale/trunk/tiger/src/test/org/apache/shale/tiger/faces/VariableResolverImplTestCase.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]