当前位置: 首页 > article >正文

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

[!tip]

代码都在top/xianghua/mydb/server/im/BPlusTreeTest.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();
    }
}

http://www.kler.cn/a/598631.html

相关文章:

  • Jupyter Notebook 常用命令(自用)
  • AI安全学习(刚开始,未完版)
  • git 命令回退版本
  • Kafka 八股文
  • python 游戏开发cocos2d库安装与使用
  • 【推荐项目】056-高校学籍管理系统
  • 回归——数学公式推导全过程
  • 【前端】webstorm中运行一个前端项目
  • C++核心语法快速整理
  • SpringBoot集成MQTT客户端
  • HarmonyOS:通过键值型数据库实现数据持久化
  • Mysql 安装教程和Workbench的安装教程以及workbench的菜单栏汉化
  • 响应式CMS架构优化SEO与用户体验
  • 常⻅CMS漏洞 -DeDeCMS 获取webshell
  • 蓝桥杯备赛 背包问题
  • 建筑安全员考试:“高效记忆” 关键词引领的学习捷径
  • C++23新特性详解:迈向更现代化的C++
  • //TODO 动态代理的本质?
  • 语言大模型之BERT
  • HTML5 初探:新特性与本地存储的魔法