【MyDB】5-索引管理之4-单元测试

!tip

代码都在top/xianghua/mydb/server/im/BPlusTreeTest.java中

运行如下单元测试,得到测试结果

java 复制代码
public class BPlusTreeTest {
    @Test
    public void testTreeSingle() throws Exception {
        TransactionManager tm = new MockTransactionManager();
        DataManager dm = DataManager.create("E:\\temp\\TestTreeSingle", PageCache.PAGE_SIZE*10, tm);

        long root = BPlusTree.create(dm);
        BPlusTree tree = BPlusTree.load(root, dm);

        int lim = 10000;
        for(int i = lim-1; i >= 0; i --) {
            tree.insert(i, i);
        }
        tree.insert(10000, 10000);
        for(int i = 0; i < lim; i ++) {
            List<Long> uids = tree.search(i);
            assert uids.size() == 1;
            assert uids.get(0) == i;
        }

        assert new File("/tmp/TestTreeSingle.db").delete();
        assert new File("/tmp/TestTreeSingle.log").delete();
    }
}
相关推荐
许彰午15 天前
39_Java单元测试JUnit入门
java·junit·单元测试
果子耶耶15 天前
让大模型帮我写单元测试,5个模型的覆盖率和边界处理能力实测
chatgpt·单元测试
川石课堂软件测试16 天前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos
周杰伦fans17 天前
记一次 Visual Studio 突然报错“未能加载 Microsoft.Internal.VisualStudio.Interop”的奇葩经历
microsoft·log4j·visual studio
laplaya17 天前
C++大型项目组件通信与依赖管理实践
c++·log4j·apache
福大大架构师每日一题18 天前
ollama v0.30.7 正式发布:Hermes 桌面端落地,接口、文档、底层依赖全方位优化
golang·log4j
Thecozzy18 天前
单元测试 vs 手工测试:以水印功能为例
单元测试
四问四不知18 天前
Understand Anything的初步了解
log4j
HLAIA光子19 天前
AI Coding框架,打好TDD和SDD这两拳
单元测试·ai编程·代码规范