github.com/scottcagno/storage@v1.8.0/pkg/lsmtree/_blockfile_test.go (about) 1 package lsmtree 2 3 import ( 4 "log" 5 "os" 6 "testing" 7 ) 8 9 func Test_align(t *testing.T) { 10 type args struct { 11 size int64 12 } 13 tests := []struct { 14 name string 15 args args 16 want int64 17 }{ 18 {name: "size-0", args: args{0}, want: blockSize}, 19 {name: "size-1250", args: args{1250}, want: blockSize}, 20 {name: "size-2500", args: args{2500}, want: blockSize}, 21 {name: "size-4000", args: args{4000}, want: blockSize}, 22 {name: "size-4100", args: args{4100}, want: blockSize * 2}, 23 {name: "size-6500", args: args{6500}, want: blockSize * 2}, 24 {name: "size-7200", args: args{7200}, want: blockSize * 2}, 25 {name: "size-8100", args: args{8100}, want: blockSize * 2}, 26 {name: "size-8200", args: args{8200}, want: blockSize * 3}, 27 {name: "size-9900", args: args{9900}, want: blockSize * 3}, 28 {name: "size-10957", args: args{10957}, want: blockSize * 3}, 29 {name: "size-12200", args: args{12200}, want: blockSize * 3}, 30 {name: "size-12300", args: args{12300}, want: blockSize * 4}, 31 {name: "size-16300", args: args{16300}, want: blockSize * 4}, 32 {name: "size-16400", args: args{16400}, want: blockSize * 5}, 33 {name: "size-20400", args: args{20400}, want: blockSize * 5}, 34 {name: "size-20500", args: args{20500}, want: blockSize * 6}, 35 {name: "size-24500", args: args{24500}, want: blockSize * 6}, 36 {name: "size-24600", args: args{24600}, want: blockSize * 7}, 37 {name: "size-28600", args: args{28600}, want: blockSize * 7}, 38 {name: "size-28700", args: args{28700}, want: blockSize * 8}, 39 {name: "size-32700", args: args{32700}, want: blockSize * 8}, 40 {name: "size-32800", args: args{32800}, want: blockSize * 9}, 41 } 42 for _, tt := range tests { 43 t.Run(tt.name, func(t *testing.T) { 44 if got := align(tt.args.size); got != tt.want { 45 t.Errorf("align() = %v, want %v", got, tt.want) 46 } 47 }) 48 } 49 } 50 51 var setupDir = func() string { 52 dir, err := os.MkdirTemp("dir", "tmp-*") 53 if err != nil { 54 log.Panic(err) 55 } 56 return dir 57 } 58 59 var cleanupDir = func(dir string) { 60 err := os.RemoveAll(dir) 61 if err != nil { 62 log.Panic(err) 63 } 64 }