测试:完善和优化测试用例

- 优化 schema 测试用例,增加边界条件测试
- 完善 table、index、database 等模块的测试
- 改进测试数据清理和错误处理
- 更新示例程序以使用最新 API
- 增强测试覆盖率和可靠性
This commit is contained in:
2025-10-09 21:47:14 +08:00
parent 89af9e9259
commit 6d04487789
14 changed files with 812 additions and 132 deletions

View File

@@ -12,18 +12,21 @@ func TestIndexBTreeBasic(t *testing.T) {
tmpDir := t.TempDir()
// 创建 Schema
schema := NewSchema("test", []Field{
schema, err := NewSchema("test", []Field{
{Name: "id", Type: FieldTypeInt64},
{Name: "name", Type: FieldTypeString},
{Name: "city", Type: FieldTypeString},
})
if err != nil {
t.Fatal(err)
}
// 创建索引管理器
mgr := NewIndexManager(tmpDir, schema)
defer mgr.Close()
// 创建索引
err := mgr.CreateIndex("city")
err = mgr.CreateIndex("city")
if err != nil {
t.Fatalf("Failed to create index: %v", err)
}
@@ -126,17 +129,20 @@ func TestIndexBTreeLargeDataset(t *testing.T) {
tmpDir := t.TempDir()
// 创建 Schema
schema := NewSchema("test", []Field{
schema, err := NewSchema("test", []Field{
{Name: "id", Type: FieldTypeInt64},
{Name: "category", Type: FieldTypeString},
})
if err != nil {
t.Fatal(err)
}
// 创建索引管理器
mgr := NewIndexManager(tmpDir, schema)
defer mgr.Close()
// 创建索引
err := mgr.CreateIndex("category")
err = mgr.CreateIndex("category")
if err != nil {
t.Fatalf("Failed to create index: %v", err)
}
@@ -211,16 +217,19 @@ func TestIndexBTreeBackwardCompatibility(t *testing.T) {
tmpDir := t.TempDir()
// 创建 Schema
schema := NewSchema("test", []Field{
schema, err := NewSchema("test", []Field{
{Name: "id", Type: FieldTypeInt64},
{Name: "status", Type: FieldTypeString},
})
if err != nil {
t.Fatal(err)
}
// 1. 创建索引管理器并用旧方式(通过先禁用新格式)创建索引
mgr := NewIndexManager(tmpDir, schema)
// 创建索引
err := mgr.CreateIndex("status")
err = mgr.CreateIndex("status")
if err != nil {
t.Fatalf("Failed to create index: %v", err)
}
@@ -286,17 +295,20 @@ func TestIndexBTreeIncrementalUpdate(t *testing.T) {
tmpDir := t.TempDir()
// 创建 Schema
schema := NewSchema("test", []Field{
schema, err := NewSchema("test", []Field{
{Name: "id", Type: FieldTypeInt64},
{Name: "tag", Type: FieldTypeString},
})
if err != nil {
t.Fatal(err)
}
// 创建索引管理器
mgr := NewIndexManager(tmpDir, schema)
defer mgr.Close()
// 创建索引
err := mgr.CreateIndex("tag")
err = mgr.CreateIndex("tag")
if err != nil {
t.Fatalf("Failed to create index: %v", err)
}