Author: henning
Date: Wed Sep 6 12:40:29 2006
New Revision: 440844
URL: http://svn.apache.org/viewvc?view=rev&rev=440844
Log:
add more regular tests to the UberspectorTestCase
Modified:
jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/UberspectorTestCase.java
jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/misc/GetPutObject.java
Modified:
jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/UberspectorTestCase.java
URL:
http://svn.apache.org/viewvc/jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/UberspectorTestCase.java?view=diff&rev=440844&r1=440843&r2=440844
==============================================================================
---
jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/UberspectorTestCase.java
(original)
+++
jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/UberspectorTestCase.java
Wed Sep 6 12:40:29 2006
@@ -8,6 +8,7 @@
import org.apache.velocity.runtime.RuntimeInstance;
import org.apache.velocity.test.misc.GetPutObject;
+import org.apache.velocity.test.misc.UberspectorTestObject;
import org.apache.velocity.util.introspection.Uberspect;
import org.apache.velocity.util.introspection.VelPropertyGet;
import org.apache.velocity.util.introspection.VelPropertySet;
@@ -71,7 +72,7 @@
VelPropertyGet getter = u.getPropertyGet(map, "", null);
- // Don't screw up on empty properties. That should map to get(Object)
+ // Don't screw up on empty properties. That should map to get("")
assertNotNull(getter);
assertEquals("Found wrong method", "get", getter. getMethodName());
}
@@ -84,7 +85,7 @@
VelPropertySet setter = u.getPropertySet(map, "", Object.class, null);
- // Don't screw up on empty properties. That should map to put(Object,
Object)
+ // Don't screw up on empty properties. That should map to put("",
Object)
assertNotNull(setter);
assertEquals("Found wrong method", "put", setter.getMethodName());
}
@@ -94,12 +95,18 @@
{
Uberspect u = ri.getUberspect();
GetPutObject gpo = new GetPutObject();
+ Map map = new HashMap();
VelPropertyGet getter = u.getPropertyGet(gpo, null, null);
// Don't screw up on null properties. That should map to get() on the
GPO.
assertNotNull(getter);
assertEquals("Found wrong method", "get", getter.getMethodName());
+
+ // And should be null on a Map which does not have a get()
+ getter = u.getPropertyGet(map, null, null);
+ assertNull(getter);
+
}
public void testNullPropertySetter()
@@ -107,12 +114,148 @@
{
Uberspect u = ri.getUberspect();
GetPutObject gpo = new GetPutObject();
+ Map map = new HashMap();
// Don't screw up on null properties. That should map to put() on the
GPO.
- VelPropertySet setter = u.getPropertySet(gpo, null, Object.class,
null);
+ VelPropertySet setter = u.getPropertySet(gpo, null, "", null);
assertNotNull(setter);
assertEquals("Found wrong method", "put", setter.getMethodName());
+
+ // And should be null on a Map which does not have a put()
+ setter = u.getPropertySet(map, null, "", null);
+ assertNull(setter);
+ }
+
+ public void testNullParameterType()
+ throws Exception
+ {
+ VelPropertySet setter;
+
+ Uberspect u = ri.getUberspect();
+ UberspectorTestObject uto = new UberspectorTestObject();
+
+ // setRegular()
+ setter = u.getPropertySet(uto, "Regular", null, null);
+ assertNotNull(setter);
+ assertEquals("Found wrong method", "setRegular",
setter.getMethodName());
+
+ // setAmbigous() - String and StringBuffer available
+ setter = u.getPropertySet(uto, "Ambigous", null, null);
+ assertNull(setter);
+
+ // setAmbigous() - same with Object?
+ setter = u.getPropertySet(uto, "Ambigous", new Object(), null);
+ assertNull(setter);
+ }
+
+ public void testMultipleParameterTypes()
+ throws Exception
+ {
+ VelPropertySet setter;
+
+ Uberspect u = ri.getUberspect();
+ UberspectorTestObject uto = new UberspectorTestObject();
+
+ // setAmbigous() - String
+ setter = u.getPropertySet(uto, "Ambigous", "", null);
+ assertNotNull(setter);
+ assertEquals("Found wrong method", "setAmbigous",
setter.getMethodName());
+
+ // setAmbigous() - StringBuffer
+ setter = u.getPropertySet(uto, "Ambigous", new StringBuffer(), null);
+ assertNotNull(setter);
+ assertEquals("Found wrong method", "setAmbigous",
setter.getMethodName());
+ }
+
+
+ public void testRegularGetters()
+ throws Exception
+ {
+ VelPropertyGet getter;
+
+ Uberspect u = ri.getUberspect();
+ UberspectorTestObject uto = new UberspectorTestObject();
+
+ // getRegular()
+ getter = u.getPropertyGet(uto, "Regular", null);
+ assertNotNull(getter);
+ assertEquals("Found wrong method", "getRegular",
getter.getMethodName());
+
+ // Lowercase regular
+ getter = u.getPropertyGet(uto, "regular", null);
+ assertNotNull(getter);
+ assertEquals("Found wrong method", "getRegular",
getter.getMethodName());
+
+ // lowercase: getpremium()
+ getter = u.getPropertyGet(uto, "premium", null);
+ assertNotNull(getter);
+ assertEquals("Found wrong method", "getpremium",
getter.getMethodName());
+
+ // test uppercase: getpremium()
+ getter = u.getPropertyGet(uto, "Premium", null);
+ assertNotNull(getter);
+ assertEquals("Found wrong method", "getpremium",
getter.getMethodName());
}
+
+ public void testBooleanGetters()
+ throws Exception
+ {
+ VelPropertyGet getter;
+
+ Uberspect u = ri.getUberspect();
+ UberspectorTestObject uto = new UberspectorTestObject();
+
+ // getRegular()
+ getter = u.getPropertyGet(uto, "RegularBool", null);
+ assertNotNull(getter);
+ assertEquals("Found wrong method", "isRegularBool",
getter.getMethodName());
+
+ // Lowercase regular
+ getter = u.getPropertyGet(uto, "regularBool", null);
+ assertNotNull(getter);
+ assertEquals("Found wrong method", "isRegularBool",
getter.getMethodName());
+
+ // lowercase: getpremiumBool()
+ getter = u.getPropertyGet(uto, "premiumBool", null);
+ assertNotNull(getter);
+ assertEquals("Found wrong method", "ispremiumBool",
getter.getMethodName());
+
+ // test uppercase: ()
+ getter = u.getPropertyGet(uto, "PremiumBool", null);
+ assertNotNull(getter);
+ assertEquals("Found wrong method", "ispremiumBool",
getter.getMethodName());
+ }
+
+
+ public void testRegularSetters()
+ throws Exception
+ {
+ VelPropertySet setter;
+
+ Uberspect u = ri.getUberspect();
+ UberspectorTestObject uto = new UberspectorTestObject();
+
+ // setRegular()
+ setter = u.getPropertySet(uto, "Regular", "", null);
+ assertNotNull(setter);
+ assertEquals("Found wrong method", "setRegular",
setter.getMethodName());
+
+ // Lowercase regular
+ setter = u.getPropertySet(uto, "regular", "", null);
+ assertNotNull(setter);
+ assertEquals("Found wrong method", "setRegular",
setter.getMethodName());
+
+ // lowercase: setpremium()
+ setter = u.getPropertySet(uto, "premium", "", null);
+ assertNotNull(setter);
+ assertEquals("Found wrong method", "setpremium",
setter.getMethodName());
+
+ // test uppercase: getpremium()
+ setter = u.getPropertySet(uto, "Premium", "", null);
+ assertNotNull(setter);
+ assertEquals("Found wrong method", "setpremium",
setter.getMethodName());
+ }
+
/*
Modified:
jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/misc/GetPutObject.java
URL:
http://svn.apache.org/viewvc/jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/misc/GetPutObject.java?view=diff&rev=440844&r1=440843&r2=440844
==============================================================================
---
jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/misc/GetPutObject.java
(original)
+++
jakarta/velocity/engine/trunk/src/test/org/apache/velocity/test/misc/GetPutObject.java
Wed Sep 6 12:40:29 2006
@@ -1,5 +1,21 @@
package org.apache.velocity.test.misc;
+/*
+ * Copyright 2006 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.
+ */
+
public class GetPutObject
{
private Object value;
@@ -13,4 +29,4 @@
{
this.value = value;
}
-}
\ No newline at end of file
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]