package kvrepl import "testing" func TestRead(t *testing.T) { var tests = []struct { args []string kv map[string]string expected bool }{ {[]string{}, nil, false}, {[]string{"a", "b"}, nil, false}, {[]string{"a"}, map[string]string{}, false}, {[]string{"a"}, map[string]string{"a": "b"}, true}, } for _, rt := range tests { _, actual := read(rt.args, rt.kv) if (actual == nil) != rt.expected { t.Errorf( "failed read:\n\texpected: %v\n\t actual: %v", rt.expected, (actual == nil), ) } } } func TestWrite(t *testing.T) { var tests = []struct { args []string kv map[string]string expected bool }{ {[]string{}, nil, false}, {[]string{"a"}, nil, false}, {[]string{"a", "b"}, map[string]string{}, true}, } for _, rt := range tests { actual := write(rt.args, rt.kv) if (actual == nil) != rt.expected { t.Errorf( "failed write:\n\texpected: %v\n\t actual: %v", rt.expected, (actual == nil), ) } } } func TestDel(t *testing.T) { var tests = []struct { args []string kv map[string]string expected bool }{ {[]string{}, nil, false}, {[]string{"a", "b"}, nil, false}, {[]string{"a"}, map[string]string{}, false}, {[]string{"a"}, map[string]string{"a": "b"}, true}, } for _, rt := range tests { actual := del(rt.args, rt.kv) if (actual == nil) != rt.expected { t.Errorf( "failed del:\n\texpected: %v\n\t actual: %v", rt.expected, (actual == nil), ) } } } func TestSeries(t *testing.T) { kv := make(map[string]string) err := write([]string{"a", "b"}, kv) if err != nil { t.Errorf( "failed series:\n\tfailed to write", ) } v, _ := read([]string{"a"}, kv) if v != "b" { t.Errorf( "failed series:\n\texpected: %v\n\t actual: %v", "b", v, ) } _ = del([]string{"a"}, kv) v, _ = read([]string{"a"}, kv) if v != "" { t.Errorf( "failed series:\n\texpected: %v\n\t actual: %v", "", v, ) } }