Author: skitching
Date: Sat Feb  5 20:37:18 2005
New Revision: 151540

URL: http://svn.apache.org/viewcvs?view=rev&rev=151540
Log:
Added tests for setRoot/getRoot methods.

Modified:
    
jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/ContextTestCase.java

Modified: 
jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/ContextTestCase.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/ContextTestCase.java?view=diff&r1=151539&r2=151540
==============================================================================
--- 
jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/ContextTestCase.java
 (original)
+++ 
jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/ContextTestCase.java
 Sat Feb  5 20:37:18 2005
@@ -124,8 +124,69 @@
     /**
      * Test storage of the 'root' variable
      */
-    public void testRoot() {
+    public void testRoot1() {
         // setRoot, getRoot
+        SAXHandler saxHandler = new SAXHandler();
+        Log log = saxHandler.getLogger();
+        Context context = new Context(saxHandler, log);
+
+        Object root;
+
+        // initially, getRoot returns null
+        root = context.getRoot();
+        assertNull("Initial root object is null", root);
+        
+        // after setRoot, returns the object set
+        context.setRoot("root1");
+        root = context.getRoot();
+        assertEquals("setRoot/getRoot retrieves set object", "root1", root);
+        
+        // can set multiple times, always returns the last object set
+        // also, stack depth should be max of 1
+        context.setRoot("root2");
+        context.setRoot("root3");
+        context.setRoot("root4");
+        root = context.getRoot();
+        assertEquals("setRoot multiple times", "root4", root);
+        assertEquals(context.getStackSize(), 1);
+    }
+    
+    /**
+     * Test storage of the 'root' variable
+     */
+    public void testRoot2() {
+        // setRoot, getRoot
+        SAXHandler saxHandler = new SAXHandler();
+        Log log = saxHandler.getLogger();
+        Context context = new Context(saxHandler, log);
+
+        Object root;
+
+        // initially, getRoot returns null
+        root = context.getRoot();
+        assertNull("Initial root object is null", root);
+        
+        // after pushing an object, root is set
+        context.push("item1");
+        root = context.getRoot();
+        assertEquals("push sets root", "item1", root);
+        
+        // after pushing other objects, root does not change
+        context.push("item2");
+        context.push("item3");
+        context.push("item4");
+        root = context.getRoot();
+        assertEquals("push sets root", "item1", root);
+        assertEquals("push increases stackdepth", 4, context.getStackSize());
+        
+        // after popping all objects off stack, root remains set
+        context.pop();
+        context.pop();
+        context.pop();
+        context.pop();
+        root = context.getRoot();
+        assertEquals("root remains set after pop", "item1", root);
+        assertEquals("root remains set after pop", 0, context.getStackSize());
     }
     
     /**



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

Reply via email to