-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstore-query_test.go
70 lines (52 loc) · 1.25 KB
/
store-query_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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package minidb
import (
"reflect"
"sort"
"testing"
)
func TestGetQuery(t *testing.T) {
defer cleanFileAfter("getstore.json", t)
db := NewStore("getstore.json")
db.Set("hello", "world")
if db.GetString("hello") != "world" {
t.Fatal("`hello` key is not equal to world")
}
}
func TestRemoveQuery(t *testing.T) {
filename := "removestore.json"
defer cleanFileAfter(filename, t)
db := NewStore(filename)
db.Set("value", false)
db.Set("string", "123")
err := db.Remove("value")
if err != nil {
t.Fatal("key is not removed")
}
}
func TestUpdateQuery(t *testing.T) {
filename := "updatestore.json"
defer cleanFileAfter(filename, t)
db := NewStore(filename)
db.Set("value", false)
db.Set("string", "123")
db.Update("value", true)
if db.GetBool("value") != true {
t.Fatal("update is not working ")
}
}
func TestFindKeyQuery(t *testing.T) {
filename := "findstore.json"
defer cleanFileAfter(filename, t)
db := NewStore(filename)
db.Set("hello", "world")
db.Set("hellox", "x hello")
db.Set("hell", false)
db.Set("sample", false)
db.Set("number", 100)
expected := []string{"hell", "hello", "hellox"}
r := db.FindKey("hell")
sort.Strings(r)
if !reflect.DeepEqual(expected, r) {
t.Fatal("values returned from findkey are not equal")
}
}