You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2004/03/30 09:40:07 UTC

svn commit: rev 9822 - incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester

Author: akarasulu
Date: Mon Mar 29 23:40:06 2004
New Revision: 9822

Added:
   incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/
   incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/TagTreeTest.java
Log:
oops forgot the test cases

Added: incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/TagTreeTest.java
==============================================================================
--- (empty file)
+++ incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/TagTreeTest.java	Mon Mar 29 23:40:06 2004
@@ -0,0 +1,89 @@
+/*
+ *   Copyright 2004 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.snickers.ber.digester ;
+
+
+import java.util.List;
+
+import junit.framework.TestCase ;
+
+
+/**
+ * Tests the TagTree class.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">
+ * Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class TagTreeTest extends TestCase
+{
+    /**
+     * Constructor for TagTreeTest.
+     * @param name the name of the test case
+     */
+    public TagTreeTest( String name )
+    {
+        super( name ) ;
+    }
+
+    
+    /**
+     * Tests the addRule method of the tree.
+     */
+    public void testAddRule()
+    {
+        TagTree tree = new TagTree() ;
+        int[] pattern = {1,2,3} ;
+        tree.addRule( pattern, new MockRule() ) ;
+        
+        assertNull( tree.getNode(4) ) ;
+        
+        TagNode node = tree.getNode( 1 ) ;
+        assertNotNull( node ) ;
+        node = node.getChild( new Integer(2) ) ;
+        assertNotNull( node ) ;
+        node = node.getChild( new Integer(3) ) ;
+        assertNotNull( node ) ;
+        node = node.getChild( new Integer(4) ) ;
+        assertNull( node ) ;
+    }
+
+    
+    public void testMatch()
+    {
+        TagTree tree = new TagTree() ;
+        int[] pattern0 = {1,2,3} ;
+        int[] pattern1 = {4,2,7} ;
+        int[] pattern2 = {1,5,3} ;
+        Rule rule0 = new MockRule() ;
+        Rule rule1 = new MockRule() ;
+        Rule rule2 = new MockRule() ;
+        tree.addRule( pattern0, rule0 ) ;
+        tree.addRule( pattern1, rule1 ) ;
+        tree.addRule( pattern2, rule2 ) ;
+        assertEquals( rule0, ( (List) tree.match( pattern0 ) ).get(0) ) ;
+        assertEquals( rule1, ( (List) tree.match( pattern1 ) ).get(0) ) ;
+        assertEquals( rule2, ( (List) tree.match( pattern2 ) ).get(0) ) ;
+
+        assertNotSame( rule0, ( (List) tree.match( pattern1 ) ).get(0) ) ;
+        assertNotSame( rule1, ( (List) tree.match( pattern2 ) ).get(0) ) ;
+        assertNotSame( rule2, ( (List) tree.match( pattern0 ) ).get(0) ) ;
+    }
+
+
+    class MockRule extends AbstractRule { }
+}