Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.mapdb;
  
  import org.junit.Test;
  
  import java.util.Iterator;
  import java.util.Map;
 
 import static org.junit.Assert.*;
 
 @SuppressWarnings({ "unchecked""rawtypes" })
 public class BTreeMapTest{
 
     Engine engine = new StoreDirect(Volume.memoryFactory(false,0L));
 
 
             6,false,0, .,.,
             .);
     
 
     @Test public void test_leaf_node_serialization() throws IOException {
 
 
         BTreeMap.LeafNode n = new BTreeMap.LeafNode(new Object[]{null,1,2,3, null}, new Object[]{1,2,3}, 111);
         BTreeMap.LeafNode n2 = (BTreeMap.LeafNode) UtilsTest.clone(n.);
         assertArrayEquals(n.keys(), n2.keys());
         assertEquals(n.nextn2.next);
     }
 
     
 	@Test public void test_dir_node_serialization() throws IOException {
 
 
         BTreeMap.DirNode n = new BTreeMap.DirNode(new Object[]{1,2,3, null}, new long[]{4,5,6,7});
         BTreeMap.DirNode n2 = (BTreeMap.DirNode) UtilsTest.clone(n.);
 
         assertArrayEquals(n.keys(), n2.keys());
         assertArrayEquals(n.childn2.child);
     }
 
     @Test public void test_find_children(){
 
         assertEquals(8,.findChildren(11, new Integer[]{1,2,3,4,5,6,7,8}));
         assertEquals(0,.findChildren(1, new Integer[]{1,2,3,4,5,6,7,8}));
         assertEquals(0,.findChildren(0, new Integer[]{1,2,3,4,5,6,7,8}));
         assertEquals(7,.findChildren(8, new Integer[]{1,2,3,4,5,6,7,8}));
         assertEquals(4,.findChildren(49, new Integer[]{10,20,30,40,50}));
         assertEquals(4,.findChildren(50, new Integer[]{10,20,30,40,50}));
         assertEquals(3,.findChildren(40, new Integer[]{10,20,30,40,50}));
         assertEquals(3,.findChildren(39, new Integer[]{10,20,30,40,50}));
     }
 
 
     @Test public void test_next_dir(){
 
         BTreeMap.DirNode d = new BTreeMap.DirNode(new Integer[]{44,62,68, 71}, new long[]{10,20,30,40});
 
         assertEquals(10, .nextDir(d, 62));
         assertEquals(10, .nextDir(d, 44));
         assertEquals(10, .nextDir(d, 48));
 
         assertEquals(20, .nextDir(d, 63));
         assertEquals(20, .nextDir(d, 64));
         assertEquals(20, .nextDir(d, 68));
 
         assertEquals(30, .nextDir(d, 69));
         assertEquals(30, .nextDir(d, 70));
         assertEquals(30, .nextDir(d, 71));
 
         assertEquals(40, .nextDir(d, 72));
         assertEquals(40, .nextDir(d, 73));
     }
 
     @Test public void test_next_dir_infinity(){
 
         BTreeMap.DirNode d = new BTreeMap.DirNode(
                 new Object[]{null,62,68, 71},
                 new long[]{10,20,30,40});
         assertEquals(10, .nextDir(d, 33));
         assertEquals(10, .nextDir(d, 62));
         assertEquals(20, .nextDir(d, 63));
 
         d = new BTreeMap.DirNode(
                 new Object[]{44,62,68, null},
                 new long[]{10,20,30,40});
 
         assertEquals(10, .nextDir(d, 62));
         assertEquals(10, .nextDir(d, 44));
         assertEquals(10, .nextDir(d, 48));
 
         assertEquals(20, .nextDir(d, 63));
         assertEquals(20, .nextDir(d, 64));
         assertEquals(20, .nextDir(d, 68));
 
         assertEquals(30, .nextDir(d, 69));
         assertEquals(30, .nextDir(d, 70));
        assertEquals(30, .nextDir(d, 71));
        assertEquals(30, .nextDir(d, 72));
        assertEquals(30, .nextDir(d, 73));
    }
    @Test public void simple_root_get(){
        BTreeMap.LeafNode l = new BTreeMap.LeafNode(
                new Object[]{null, 10,20,30, null},
                new Object[]{10,20,30},
                0);
        long rootRecid = .put(l.);
        .update(.rootRecid.);
        assertEquals(null.get(1));
        assertEquals(null.get(9));
        assertEquals(10, .get(10));
        assertEquals(null.get(11));
        assertEquals(null.get(19));
        assertEquals(20, .get(20));
        assertEquals(null.get(21));
        assertEquals(null.get(29));
        assertEquals(30, .get(30));
        assertEquals(null.get(31));
    }
    @Test public void root_leaf_insert(){
        .put(11,12);
        final long rootRecid = .get(..);
        BTreeMap.LeafNode n = (BTreeMap.LeafNode.get(rootRecid.);
        assertArrayEquals(new Object[]{null, 11, null}, n.keys);
        assertArrayEquals(new Object[]{12}, n.vals);
        assertEquals(0, n.next);
    }
    @Test public void batch_insert(){
        for(int i=0;i<1000;i++){
            .put(i*10,i*10+1);
        }
        for(int i=0;i<10000;i++){
            assertEquals(i%10==0?i+1:null.get(i));
        }
    }
    @Test public void test_empty_iterator(){
        assertFalse(.keySet().iterator().hasNext());
        assertFalse(.values().iterator().hasNext());
    }
    @Test public void test_key_iterator(){
        for(int i = 0;i<20;i++){
            .put(i,i*10);
        }
        Iterator iter = .keySet().iterator();
        for(int i = 0;i<20;i++){
            assertTrue(iter.hasNext());
            assertEquals(i,iter.next());
        }
        assertFalse(iter.hasNext());
    }
    @Test public void test_size(){
        assertTrue(.isEmpty());
        assertEquals(0,.size());
        for(int i = 1;i<30;i++){
            .put(i,i);
            assertEquals(i,.size());
            assertFalse(.isEmpty());
        }
    }
    @Test public void delete(){
        for(int i:new int[]{
                10, 50, 20, 42,
                //44, 68, 20, 93, 85, 71, 62, 77, 4, 37, 66
        }){
            .put(i,i);
        }
        assertEquals(10, .remove(10));
        assertEquals(20, .remove(20));
        assertEquals(42, .remove(42));
        assertEquals(null.remove(42999));
    }
    @Test public void issue_38(){
        Map<IntegerString[]> map = DBMaker
                .newMemoryDB()
                .make().getTreeMap("test");
        for (int i = 0; i < 50000; i++) {
            map.put(inew String[5]);
        }
        for (int i = 0; i < 50000; i=i+1000) {
            assertArrayEquals(new String[5], map.get(i));
            assertTrue(map.get(i).toString().contains("[Ljava.lang.String"));
        }
    }
    @Test public void floorTestFill() {
        .put(1, "val1");
        .put(2, "val2");
        .put(5, "val3");
        assertEquals(5,.floorKey(5));
        assertEquals(1,.floorKey(1));
        assertEquals(2,.floorKey(2));
        assertEquals(2,.floorKey(3));
        assertEquals(2,.floorKey(4));
        assertEquals(5,.floorKey(5));
        assertEquals(5,.floorKey(6));
    }
    @Test public void submapToString() {
        for (int i = 0; i < 20; i++) {
            .put(i"aa"+i);
        }
        Map submap = .subMap(10, true, 13, true);
        assertEquals("{10=aa10, 11=aa11, 12=aa12, 13=aa13}",submap.toString());
    }
    @Test public void findSmaller(){
        for(int i=0;i<10000; i+=3){
            .put(i"aa"+i);
        }
        for(int i=0;i<10000; i+=1){
            Integer s = i - i%3;
            Map.Entry e = .findSmaller(i,true);
            assertEquals(s,e!=null?e.getKey():null);
        }
        assertEquals(9999, .findSmaller(100000,true).getKey());
        assertNull(.findSmaller(0,false));
        for(int i=1;i<10000; i+=1){
            Integer s = i - i%3;
            if(s==is-=3;
            Map.Entry e = .findSmaller(i,false);
            assertEquals(s,e!=null?e.getKey():null);
        }
        assertEquals(9999, .findSmaller(100000,false).getKey());
    }
    @Test public void NoSuchElem_After_Clear(){
//      bug reported by :	Lazaros Tsochatzidis
//        But after clearing the tree using:
//
//        public void Delete() {
//            db.getTreeMap("Names").clear();
//            db.compact();
//        }
//
//        every next call of getLastKey() leads to the exception "NoSuchElement". Not
//        only the first one...
        DB db = DBMaker.newTempFileDB().transactionDisable().make();
        NavigableMap m = db.getTreeMap("name");
        try{
            m.lastKey();
            fail();
        }catch(NoSuchElementException e){}
        m.put("aa","aa");
        assertEquals("aa",m.lastKey());
        m.put("bb","bb");
        assertEquals("bb",m.lastKey());
        db.getTreeMap("name").clear();
        db.compact();
        try{
            Object key=m.lastKey();
            fail(key.toString());
        }catch(NoSuchElementException e){}
        m.put("aa","aa");
        assertEquals("aa",m.lastKey());
        m.put("bb","bb");
        assertEquals("bb",m.lastKey());
    }
New to GrepCode? Check out our FAQ X