⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 collectiontest.java

📁 嵌入式数据库Berkeley DB-4.5.20源代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    }    void removeOddList()        throws Exception {        writeRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                for (int i = beginKey; i <= endKey; i += 2) {                    // remove by index                    // (with entity binding, embbeded keys in values are                    // being changed so we can't use values for comparison)                    int idx = (i - beginKey) / 2;                    Object val = makeVal(i);                    if (!isEntityBinding) {                        assertTrue(list.contains(val));                        assertEquals(val, list.get(idx));                        assertEquals(idx, list.indexOf(val));                    }                    assertNotNull(list.get(idx));                    if (isEntityBinding) {                        assertNotNull(list.remove(idx));                    } else {                        assertTrue(list.contains(val));                        assertEquals(val, list.remove(idx));                    }                    assertTrue(!list.remove(val));                    assertTrue(!list.contains(val));                    assertTrue(!val.equals(list.get(idx)));                }            }        });    }    void removeOddListValue()        throws Exception {        writeRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                for (int i = beginKey; i <= endKey; i += 2) {                    // for non-entity case remove by value                    // (with entity binding, embbeded keys in values are                    // being changed so we can't use values for comparison)                    int idx = (i - beginKey) / 2;                    Object val = makeVal(i);                    assertTrue(list.contains(val));                    assertEquals(val, list.get(idx));                    assertEquals(idx, list.indexOf(val));                    assertTrue(list.remove(val));                    assertTrue(!list.remove(val));                    assertTrue(!list.contains(val));                    assertTrue(!val.equals(list.get(idx)));                }            }        });    }    void addOdd()        throws Exception {        writeRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                // add using Map.put()                for (int i = beginKey; i <= endKey; i += 2) {                    Long key = makeKey(i);                    Object val = makeVal(i);                    assertNull(imap.get(key));                    assertNull(imap.put(key, val));                    assertEquals(val, imap.get(key));                    assertTrue(imap.duplicates(key).contains(val));                    checkDupsSize(1, imap.duplicates(key));                    if (isEntityBinding) {                        assertTrue(!imap.values().add(val));                    }                    if (!imap.areDuplicatesAllowed()) {                        assertEquals(val, imap.put(key, val));                    }                }            }        });    }    void addOddEntity()        throws Exception {        writeRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                // add using Map.values().add()                for (int i = beginKey; i <= endKey; i += 2) {                    Long key = makeKey(i);                    Object val = makeVal(i);                    assertNull(imap.get(key));                    assertTrue(!imap.values().contains(val));                    assertTrue(imap.values().add(val));                    assertEquals(val, imap.get(key));                    assertTrue(imap.values().contains(val));                    assertTrue(imap.duplicates(key).contains(val));                    checkDupsSize(1, imap.duplicates(key));                    if (isEntityBinding) {                        assertTrue(!imap.values().add(val));                    }                }            }        });    }    void addOddDup()        throws Exception {        writeRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                // add using Map.duplicates().add()                for (int i = beginKey; i <= endKey; i += 2) {                    Long key = makeKey(i);                    Object val = makeVal(i);                    assertNull(imap.get(key));                    assertTrue(!imap.values().contains(val));                    assertTrue(imap.duplicates(key).add(val));                    assertEquals(val, imap.get(key));                    assertTrue(imap.values().contains(val));                    assertTrue(imap.duplicates(key).contains(val));                    checkDupsSize(1, imap.duplicates(key));                    assertTrue(!imap.duplicates(key).add(val));                    if (isEntityBinding) {                        assertTrue(!imap.values().add(val));                    }                }            }        });    }    void addOddList()        throws Exception {        writeRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                for (int i = beginKey; i <= endKey; i += 2) {                    int idx = i - beginKey;                    Object val = makeVal(i);                    assertTrue(!list.contains(val));                    assertTrue(!val.equals(list.get(idx)));                    list.add(idx, val);                    assertTrue(list.contains(val));                    assertEquals(val, list.get(idx));                }            }        });    }    void addAllList()        throws Exception {        writeRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                for (int i = beginKey; i <= endKey; i += 1) {                    int idx = i - beginKey;                    Object val = makeVal(i);                    assertTrue(!list.contains(val));                    assertTrue(list.add(val));                    assertTrue(list.contains(val));                    assertEquals(val, list.get(idx));                }            }        });    }    void removeAllList()        throws Exception {        writeRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                assertTrue(!list.isEmpty());                list.clear();                assertTrue(list.isEmpty());                for (int i = beginKey; i <= endKey; i += 1) {                    int idx = i - beginKey;                    assertNull(list.get(idx));                }            }        });    }    void testIterAddList()        throws Exception {        writeIterRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                ListIterator i = (ListIterator) iterator(list);                try {                    assertTrue(!i.hasNext());                    i.add(makeVal(3));                    assertTrue(!i.hasNext());                    assertTrue(i.hasPrevious());                    assertEquals(3, intVal(i.previous()));                    i.add(makeVal(1));                    assertTrue(i.hasPrevious());                    assertTrue(i.hasNext());                    assertEquals(1, intVal(i.previous()));                    assertTrue(i.hasNext());                    assertEquals(1, intVal(i.next()));                    assertTrue(i.hasNext());                    assertEquals(3, intVal(i.next()));                    assertEquals(3, intVal(i.previous()));                    assertTrue(i.hasNext());                    i.add(makeVal(2));                    assertTrue(i.hasNext());                    assertTrue(i.hasPrevious());                    assertEquals(2, intVal(i.previous()));                    assertTrue(i.hasNext());                    assertEquals(2, intVal(i.next()));                    assertTrue(i.hasNext());                    assertEquals(3, intVal(i.next()));                    assertTrue(!i.hasNext());                    i.add(makeVal(4));                    i.add(makeVal(5));                    assertTrue(!i.hasNext());                    assertEquals(5, intVal(i.previous()));                    assertEquals(4, intVal(i.previous()));                    assertEquals(3, intVal(i.previous()));                    assertEquals(2, intVal(i.previous()));                    assertEquals(1, intVal(i.previous()));                    assertTrue(!i.hasPrevious());                } finally {                    StoredIterator.close(i);                }            }        });    }    void testIterAddDuplicates()        throws Exception {        writeIterRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                assertNull(imap.put(makeKey(1), makeVal(1)));                ListIterator i =                    (ListIterator) iterator(imap.duplicates(makeKey(1)));                try {                    if (imap.areDuplicatesOrdered()) {                        i.add(makeVal(1, 4));                        i.add(makeVal(1, 2));                        i.add(makeVal(1, 3));                        while (i.hasPrevious()) i.previous();                        assertEquals(1, intVal(i.next()));                        assertEquals(2, intVal(i.next()));                        assertEquals(3, intVal(i.next()));                        assertEquals(4, intVal(i.next()));                        assertTrue(!i.hasNext());                    } else {                        assertEquals(1, intVal(i.next()));                        i.add(makeVal(1, 2));                        i.add(makeVal(1, 3));                        assertTrue(!i.hasNext());                        assertTrue(i.hasPrevious());                        assertEquals(3, intVal(i.previous()));                        assertEquals(2, intVal(i.previous()));                        assertEquals(1, intVal(i.previous()));                        assertTrue(!i.hasPrevious());                        i.add(makeVal(1, 4));                        i.add(makeVal(1, 5));                        assertTrue(i.hasNext());                        assertEquals(5, intVal(i.previous()));                        assertEquals(4, intVal(i.previous()));                        assertTrue(!i.hasPrevious());                        assertEquals(4, intVal(i.next()));                        assertEquals(5, intVal(i.next()));                        assertEquals(1, intVal(i.next()));                        assertEquals(2, intVal(i.next()));                        assertEquals(3, intVal(i.next()));                        assertTrue(!i.hasNext());                    }                } finally {                    StoredIterator.close(i);                }            }        });    }    void readAll()        throws Exception {        readRunner.run(new TransactionWorker() {            public void doWork() throws Exception {                // map                assertNotNull(map.toString());                for (int i = beginKey; i <= endKey; i += 1) {                    Long key = makeKey(i);                    Object val = map.get(key);                    assertEquals(makeVal(i), val);                    assertTrue(map.containsKey(key));                    assertTrue(map.containsValue(val));                    assertTrue(map.keySet().contains(key));                    assertTrue(map.values().contains(val));                    assertTrue(map.duplicates(key).contains(val));                    checkDupsSize(1, map.duplicates(key));                }                assertNull(map.get(makeKey(-1)));                assertNull(map.get(makeKey(0)));                assertNull(map.get(makeKey(beginKey - 1)));                assertNull(map.get(makeKey(endKey + 1)));                checkDupsSize(0, map.duplicates(makeKey(-1)));                checkDupsSize(0, map.duplicates(makeKey(0)));                checkDupsSize(0, map.duplicates(makeKey(beginKey - 1)));                checkDupsSize(0, map.duplicates(makeKey(endKey + 1)));                // entrySet                Set set = map.entrySet();                assertNotNull(set.toString());                assertEquals(beginKey > endKey, set.isEmpty());                Iterator iter = iterator(set);                try {                    for (int i = beginKey; i <= endKey; i += 1) {                        assertTrue(iter.hasNext());                        Map.Entry entry = (Map.Entry) iter.next();                        Long key = (Long) entry.getKey();                        Object val = entry.getValue();                        if (map instanceof SortedMap) {                            assertEquals(intKey(key), i);                        }                        assertEquals(intKey(key), intVal(val));                        assertTrue(set.contains(entry));                    }                    assertTrue(!iter.hasNext());                } finally {                    StoredIterator.close(iter);                }                Map.Entry[] entries =                    (Map.Entry[]) set.toArray(new Map.Entry[0]);                assertNotNull(entries);                assertEquals(endKey - beginKey + 1, entries.length);                for (int i = beginKey; i <= endKey; i += 1) {                    Map.Entry entry = entries[i - beginKey];                    assertNotNull(entry);                    if (map instanceof SortedMap) {                        assertEquals(makeKey(i), entry.getKey());                        assertEquals(makeVal(i), entry.getValue());                    }                }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -