You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by ka...@apache.org on 2013/04/21 19:37:18 UTC

svn commit: r1470321 - /labs/mavibot/branches/mavibot-multivalue-support/mavibot/src/test/java/org/apache/mavibot/btree/InMemoryBTreeTest.java

Author: kayyagari
Date: Sun Apr 21 17:37:18 2013
New Revision: 1470321

URL: http://svn.apache.org/r1470321
Log:
some more tests

Modified:
    labs/mavibot/branches/mavibot-multivalue-support/mavibot/src/test/java/org/apache/mavibot/btree/InMemoryBTreeTest.java

Modified: labs/mavibot/branches/mavibot-multivalue-support/mavibot/src/test/java/org/apache/mavibot/btree/InMemoryBTreeTest.java
URL: http://svn.apache.org/viewvc/labs/mavibot/branches/mavibot-multivalue-support/mavibot/src/test/java/org/apache/mavibot/btree/InMemoryBTreeTest.java?rev=1470321&r1=1470320&r2=1470321&view=diff
==============================================================================
--- labs/mavibot/branches/mavibot-multivalue-support/mavibot/src/test/java/org/apache/mavibot/btree/InMemoryBTreeTest.java (original)
+++ labs/mavibot/branches/mavibot-multivalue-support/mavibot/src/test/java/org/apache/mavibot/btree/InMemoryBTreeTest.java Sun Apr 21 17:37:18 2013
@@ -1834,4 +1834,103 @@ public class InMemoryBTreeTest
             // expected
         }
     }
+    
+    /**
+     * Test a browse forward and backward
+     */
+    @Test
+    public void testBrowseForwardBackwardExtremes() throws Exception
+    {
+        // Create a BTree with pages containing 4 elements
+        BTree<Integer, String> btree = new BTree<Integer, String>( "test", new IntSerializer(), new StringSerializer() );
+        btree.setPageSize( 4 );
+
+        for ( int i = 8; i < 13; i++ )
+        {
+            String strValue = "V" + i;
+            btree.insert( i, strValue );
+        }
+
+        // Start to browse in the middle
+        Cursor<Integer, String> cursor = btree.browseFrom( 8 );
+
+        assertTrue( cursor.hasNext() );
+
+        // Get 8
+        assertEquals( 8, cursor.next().getKey().intValue() );
+
+        // get 9
+        assertEquals( 9, cursor.next().getKey().intValue() );
+
+        // get 10
+        assertEquals( 10, cursor.next().getKey().intValue() );
+
+        // get 11
+        assertEquals( 11, cursor.next().getKey().intValue() );
+
+        // get 12 (now, we must have gone through at least 2 pages)
+        assertEquals( 12, cursor.next().getKey().intValue() );
+
+        assertFalse( cursor.hasNext() );
+        assertTrue( cursor.hasPrev() );
+        
+        // Lets go backward. We should get the same value, as the next() call have incremented the counter
+        assertEquals( 12, cursor.prev().getKey().intValue() );
+
+        // Get 11
+        assertEquals( 11, cursor.prev().getKey().intValue() );
+
+        // Get 10
+        assertEquals( 10, cursor.prev().getKey().intValue() );
+
+        // Get 9
+        assertEquals( 9, cursor.prev().getKey().intValue() );
+
+        // Get 8
+        assertEquals( 8, cursor.prev().getKey().intValue() );
+
+        assertFalse(cursor.hasPrev());
+        assertTrue(cursor.hasNext());
+        
+        cursor.close();
+        btree.close();
+    }
+
+    @Test
+    public void testNextAfterPrev() throws Exception
+    {
+        IntSerializer serializer = new IntSerializer();
+
+        BTreeConfiguration<Integer, Integer> config = new BTreeConfiguration<Integer, Integer>();
+        config.setName( "master" );
+        config.setPageSize( 4 );
+        config.setSerializers( serializer, serializer );
+        BTree<Integer, Integer> btree = new BTree<Integer, Integer>( config );
+
+        int i = 7;
+        for ( int k=0; k < i; k++ )
+        {
+            btree.insert( k, k );
+        }
+        
+        // 3 is the last element of the first leaf
+        Cursor<Integer, Integer> cursor = btree.browseFrom(4);
+
+        assertTrue( cursor.hasNext() );
+        Tuple<Integer, Integer> tuple = cursor.next();
+        assertEquals( Integer.valueOf( 4 ), tuple.getKey() );
+        assertEquals( Integer.valueOf( 4 ), tuple.getValue() );
+        
+        assertTrue( cursor.hasPrev() );
+        tuple = cursor.prev();
+        assertEquals( Integer.valueOf( 4 ), tuple.getKey() );
+        assertEquals( Integer.valueOf( 4 ), tuple.getValue() );
+
+        assertTrue( cursor.hasNext() );
+        tuple = cursor.next();
+        assertEquals( Integer.valueOf( 4 ), tuple.getKey() );
+        assertEquals( Integer.valueOf( 4 ), tuple.getValue() );
+        cursor.close();
+    }    
+    
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org