From: Gautam J. <ga...@us...> - 2006-10-26 22:47:40
|
Update of /cvsroot/jaffa/JaffaRules/source/unittest/java/test/rules In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv21984/source/unittest/java/test/rules Modified Files: JavaInheritanceTest.java Parent.java Log Message: Added another version of testParentOnlyMethodInvocation() to test the binding of rules defined for a child class, for a property coded in the base class only. The test succeeds only if 'c_applyInheritanceHack' is set to true in JaffaClassMetaDataLoader Index: Parent.java =================================================================== RCS file: /cvsroot/jaffa/JaffaRules/source/unittest/java/test/rules/Parent.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Parent.java 27 Jun 2006 21:28:57 -0000 1.2 --- Parent.java 26 Oct 2006 22:47:36 -0000 1.3 *************** *** 8,11 **** --- 8,16 ---- /** + * Holds value of property field0. + */ + private String field0; + + /** * Holds value of property field1. */ *************** *** 27,30 **** --- 32,51 ---- /** + * Getter for property field0. + * @return Value of property field0. + */ + public String getField0() { + return this.field0; + } + + /** + * Setter for property field0. + * @param field0 New value of property field0. + */ + public void setField0(String field0) { + this.field0 = field0; + } + + /** * Getter for property field1. * @return Value of property field1. Index: JavaInheritanceTest.java =================================================================== RCS file: /cvsroot/jaffa/JaffaRules/source/unittest/java/test/rules/JavaInheritanceTest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** JavaInheritanceTest.java 23 Oct 2006 21:54:23 -0000 1.4 --- JavaInheritanceTest.java 26 Oct 2006 22:47:36 -0000 1.5 *************** *** 89,93 **** } ! public void testParentOnlyMethodInvocation() { try { // Create a parent instance and check the firing of a rule on invocation of a setter --- 89,115 ---- } ! public void testParentOnlyMethodInvocation1() { ! // Test the binding of rules to a method coded only in the Parent, ! // and with rules defined only for the Child ! try { ! // Create a parent instance and ensure that no rules are defined for a property ! Parent p = new Parent(); ! p.setField0("zzz"); ! assertEquals("No rule has been defined for Parent.field0, and hence its value should not have been transformed", "zzz", p.getField0()); ! ! // Create a child instance and invoke a method that is not coded in the child class ! Child1 c1 = new Child1(); ! c1.setField0("zzz"); ! assertEquals("Upper case-type rule has been defined for Child1.field0, and hence its value should have been transformed", "ZZZ", c1.getField0()); ! ! } catch (Exception e) { ! e.printStackTrace(System.err); ! fail(); ! } ! } ! ! public void testParentOnlyMethodInvocation2() { ! // Test the binding of rules to a method coded only in the Parent, ! // and with rules defined for both Parent and Child try { // Create a parent instance and check the firing of a rule on invocation of a setter |