Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 5043 invoked from network); 26 May 2008 20:09:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 May 2008 20:09:23 -0000 Received: (qmail 52430 invoked by uid 500); 26 May 2008 20:09:25 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 52363 invoked by uid 500); 26 May 2008 20:09:25 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 52354 invoked by uid 99); 26 May 2008 20:09:24 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 May 2008 13:09:24 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 May 2008 20:08:38 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 4284B2388A05; Mon, 26 May 2008 13:09:00 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r660290 - in /directory/apacheds/branches/bigbang/core-avl/src: main/java/org/apache/directory/server/core/avltree/AvlTree.java test/java/org/apache/directory/server/core/avltree/AvlTreeTest.java Date: Mon, 26 May 2008 20:08:58 -0000 To: commits@directory.apache.org From: kayyagari@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080526200900.4284B2388A05@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: kayyagari Date: Mon May 26 13:08:54 2008 New Revision: 660290 URL: http://svn.apache.org/viewvc?rev=660290&view=rev Log: AvlTree - fixed an issue with hard coded null value while detaching two nodes AvlTreeTest - added a test case for the above fix Modified: directory/apacheds/branches/bigbang/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTree.java directory/apacheds/branches/bigbang/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeTest.java Modified: directory/apacheds/branches/bigbang/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTree.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTree.java?rev=660290&r1=660289&r2=660290&view=diff ============================================================================== --- directory/apacheds/branches/bigbang/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTree.java (original) +++ directory/apacheds/branches/bigbang/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTree.java Mon May 26 13:08:54 2008 @@ -568,7 +568,7 @@ { if( node == parentNode.left ) { - parentNode.left = null; + parentNode.left = node.left; } else if( node == parentNode.right ) { Modified: directory/apacheds/branches/bigbang/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeTest.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeTest.java?rev=660290&r1=660289&r2=660290&view=diff ============================================================================== --- directory/apacheds/branches/bigbang/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeTest.java (original) +++ directory/apacheds/branches/bigbang/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeTest.java Mon May 26 13:08:54 2008 @@ -400,10 +400,29 @@ } tree.remove( 13 ); - + assertEquals( 11, ( int ) tree.find( 8 ).right.key ); } + + @Test + public void testRemoveInLeftSubtree() + { + int[] keys = { 8, 4, 12, 6, 7, 16, 10, 5, 11, 9, 17, 5, 14, 2, 13, 1, 3 }; // order is important to produce the expected tree + + for( int key:keys ) + { + tree.insert( key ); + } + + tree.remove( 16 ); + + assertEquals( 8, ( int ) tree.getRoot().key ); + assertEquals( 12, ( int ) tree.getRoot().right.key ); + assertEquals( 14, ( int ) tree.getRoot().right.right.key ); + assertEquals( 13, ( int ) tree.find( 14 ).left.key ); + } + private String getLinkedText() {