103 Zeilen
1.9 KiB
Go
103 Zeilen
1.9 KiB
Go
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,
|
|
)
|
|
}
|
|
|
|
}
|