【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();
    }
}
相关推荐
徐小黑ACG2 小时前
GO语言 单元测试
开发语言·后端·golang·单元测试
热爱技术的小曹19 小时前
Spring6:6 单元测试-JUnit
java·spring·junit·单元测试
患得患失9491 天前
【后端】【Django】Django DRF API 单元测试完整方案(基于 `TestCase`)
单元测试·django·sqlite
测试老哥1 天前
软件测试之单元测试/集成测试/系统测试详解
自动化测试·软件测试·功能测试·测试工具·单元测试·测试用例·集成测试
fzm52981 天前
嵌入式软件单元测试的必要性、核心方法及工具深度解析
c语言·软件测试·c++·测试工具·单元测试
江沉晚呤时1 天前
精益架构设计:深入理解与实践 C# 中的单一职责原则
java·jvm·算法·log4j·.netcore·net
川石课堂软件测试1 天前
涨薪技术|Kubernetes(k8s)之yaml语法大全
功能测试·docker·云原生·容器·kubernetes·单元测试
木卯2 天前
使用 Pytest 编写 SQLAlchemy 异步单元测试
python·单元测试
为美好的生活献上中指2 天前
java每日精进 3.21 【SpringBoot规范2.0】
java·开发语言·spring boot·log4j·async·mail