-
Notifications
You must be signed in to change notification settings - Fork 0
/
mem_test.go
52 lines (47 loc) · 1000 Bytes
/
mem_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package reconEngine
import (
"bytes"
"os"
"testing"
)
var tmp = os.TempDir()
func TestMem_Get(t *testing.T) {
var mem = NewMem(nil, &tmp)
mem.Set("test", []byte("mega test"))
v, err := mem.Get("test")
if err != nil {
t.Error(err)
}
if !bytes.Equal(v, []byte("mega test")) {
t.Error("Waiting 'mega test', received: " + string(v))
}
}
func TestMem_Del(t *testing.T) {
var mem = NewMem(nil, &tmp)
mem.Set("test", []byte("mega test"))
err := mem.Del("test")
if err != nil {
t.Error(err)
}
_, err = mem.Get("test")
if err != KeyNotFoundErr {
t.Error("Key exists")
}
}
func TestMem_Sync(t *testing.T) {
var mem = NewMem(nil, &tmp)
mem.Set("test", []byte("mega test"))
mem.Set("test1", []byte("mega test1"))
mem.Set("test2", []byte("mega test2"))
prevLen := mem.SsTable().Len()
err := mem.Sync()
if err != nil {
t.Error(err)
}
if mem.Len() != 0 {
t.Error("Synced is not all data")
}
if mem.SsTable().Len()-prevLen != 1 {
t.Error("ssTable do not synced")
}
}