craigmcc    01/05/21 21:57:02

  Modified:    digester/src/test/org/apache/commons/digester
                        DigesterTestCase.java
  Log:
  Add some more basic unit tests.
  
  Revision  Changes    Path
  1.2       +59 -4     
jakarta-commons/digester/src/test/org/apache/commons/digester/DigesterTestCase.java
  
  Index: DigesterTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/DigesterTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DigesterTestCase.java     2001/05/22 04:19:11     1.1
  +++ DigesterTestCase.java     2001/05/22 04:57:02     1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/DigesterTestCase.java,v
 1.1 2001/05/22 04:19:11 craigmcc Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/05/22 04:19:11 $
  + * $Header: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/DigesterTestCase.java,v
 1.2 2001/05/22 04:57:02 craigmcc Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/05/22 04:57:02 $
    *
    * ====================================================================
    *
  @@ -63,8 +63,12 @@
   package org.apache.commons.digester;
   
   
  +import java.io.PrintWriter;
  +import java.io.StringWriter;
   import java.net.URL;
  +import java.util.ArrayList;
   import java.util.Iterator;
  +import java.util.List;
   import java.util.Map;
   import junit.framework.Test;
   import junit.framework.TestCase;
  @@ -79,7 +83,7 @@
    * </p>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.1 $ $Date: 2001/05/22 04:19:11 $
  + * @version $Revision: 1.2 $ $Date: 2001/05/22 04:57:02 $
    */
   
   public class DigesterTestCase extends TestCase {
  @@ -160,6 +164,31 @@
   
   
       /**
  +     * Test the ability to redirect logging to an alternate destination.
  +     */
  +    public void testLogging() {
  +
  +        assertNull("Initial writer is null", digester.getWriter());
  +
  +        StringWriter sw = new StringWriter();
  +        PrintWriter pw = new PrintWriter(sw);
  +        digester.setWriter(pw);
  +        digester.log("This is line 1");
  +        digester.log("And this is line 2");
  +        String value = "This is line 1" +
  +            System.getProperty("line.separator") +
  +            "And this is line 2" +
  +            System.getProperty("line.separator");
  +        pw.flush();
  +        assertEquals("Logged output identical", value, sw.toString());
  +
  +        digester.setWriter(null);
  +        assertNull("Reset writer is null", digester.getWriter());
  +
  +    }
  +
  +
  +    /**
        * Test the basic property getters and setters.
        */
       public void testProperties() {
  @@ -234,6 +263,32 @@
           for (int i = 0; i < n; i++)
               assertEquals("Count for key " + registrations[i*2],
                            1, count[i]);
  +
  +    }
  +
  +
  +
  +    /**
  +     * Test rule creation and matching.
  +     */
  +    public void testRules() {
  +
  +        List list = null;
  +
  +        assertNull("Initial rules list is empty",
  +                   digester.getRules("a"));
  +        digester.addSetProperties("a");
  +        assertEquals("Add a matching rule",
  +                     1, digester.getRules("a").size());
  +        digester.addSetProperties("b");
  +        assertEquals("Add a non-matching rule",
  +                     1, digester.getRules("a").size());
  +        digester.addSetProperties("a/b");
  +        assertEquals("Add a non-matching nested rule",
  +                     1, digester.getRules("a").size());
  +        digester.addSetProperties("a/b");
  +        assertEquals("Add a second matching rule",
  +                     2, digester.getRules("a/b").size());
   
       }
   
  
  
  

Reply via email to