Files
qb/freelist/freelist_test.go

113 lines
2.0 KiB
Go
Raw Permalink Normal View History

2026-05-21 23:38:52 +03:00
package freelist
import (
"fmt"
"testing"
)
func createFreeList() (_ *FreeList, err error) {
return New(Options{
2026-05-31 20:01:28 +00:00
PageSize: 20,
BaseFilePath: "test.basefree",
DeltaFilePath: "test.deltafree",
FrozenPageCount: 2,
2026-05-21 23:38:52 +03:00
})
}
2026-05-31 20:01:28 +00:00
func TestBuffer(t *testing.T) {
freeList, err := createFreeList()
if err != nil {
t.Fatal(err)
}
pageNumbers := []uint32{1, 2, 3, 4}
//pageNumbers := []uint32{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
err = freeList.AddPageNumbers(pageNumbers)
if err != nil {
t.Fatal(err)
}
for range len(pageNumbers) + 1 {
pageNo, err := freeList.GetPageNumber()
fmt.Println(pageNo, err)
}
}
func TestSave(t *testing.T) {
2026-05-21 23:38:52 +03:00
freeList, err := createFreeList()
if err != nil {
t.Fatal(err)
}
pageNumbers := []uint32{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
err = freeList.AddPageNumbers(pageNumbers)
if err != nil {
t.Fatal(err)
}
2026-05-31 20:01:28 +00:00
err = freeList.Merge()
if err != nil {
t.Fatal(err)
}
// for range len(pageNumbers) + 1 {
// pageNo, err := freeList.GetPageNumber()
// fmt.Println(pageNo, err)
// }
2026-05-21 23:38:52 +03:00
}
2026-06-10 06:18:45 +03:00
// func TestDelta(t *testing.T) {
// freeList, err := createFreeList()
// if err != nil {
// t.Fatal(err)
// }
2026-05-21 23:38:52 +03:00
2026-06-10 06:18:45 +03:00
// serialized := []byte{9, 0, 0, 0, 10, 0, 0, 0}
2026-05-31 20:01:28 +00:00
2026-06-10 06:18:45 +03:00
// err = freeList.Restore(serialized)
// if err != nil {
// t.Fatal(err)
// }
2026-05-31 20:01:28 +00:00
2026-06-10 06:18:45 +03:00
// for range 3 {
// pageNo, err := freeList.GetPageNumber()
// fmt.Println(pageNo, err)
// }
2026-05-31 20:01:28 +00:00
2026-06-10 06:18:45 +03:00
// err = freeList.AddPageNumbers([]uint32{20, 21, 22})
// if err != nil {
// t.Fatal(err)
// }
2026-05-31 20:01:28 +00:00
2026-06-10 06:18:45 +03:00
// err = freeList.AddPageNumbers([]uint32{23, 24, 25, 26})
// if err != nil {
// t.Fatal(err)
// }
2026-05-31 20:01:28 +00:00
2026-06-10 06:18:45 +03:00
// serialized, err = freeList.Serialize()
// if err != nil {
// t.Fatal(err)
// }
2026-05-31 20:01:28 +00:00
2026-06-10 06:18:45 +03:00
// fmt.Println("free serialized:", serialized)
2026-05-31 20:01:28 +00:00
2026-06-10 06:18:45 +03:00
// err = freeList.Merge()
// if err != nil {
// t.Fatal(err)
// }
// }
2026-05-31 20:01:28 +00:00
// func TestGetFromFreeList(t *testing.T) {
// freeList, err := createFreeList()
// if err != nil {
// t.Fatal(err)
// }
// for range 4 {
// pageNo, err := freeList.GetPageNumber()
// fmt.Println(pageNo, err)
// }
// }