1
0
Fork 0
mirror of https://github.com/Luzifer/cloudkeys-go.git synced 2024-11-14 17:02:43 +00:00
cloudkeys-go/vendor/github.com/xuyu/goredis/hashes_test.go

165 lines
2.9 KiB
Go

package goredis
import (
"testing"
)
func TestHDel(t *testing.T) {
r.Del("key")
if n, err := r.HDel("key", "hkey"); err != nil {
t.Error(err)
} else if n != 0 {
t.Fail()
}
}
func TestHExists(t *testing.T) {
r.Del("key")
if b, err := r.HExists("key", "field"); err != nil {
t.Error(err)
} else if b {
t.Fail()
}
r.HSet("key", "field", "value")
if b, _ := r.HExists("key", "field"); !b {
t.Fail()
}
}
func TestHGet(t *testing.T) {
r.Del("key")
if data, err := r.HGet("key", "field"); err != nil {
t.Error(err)
} else if data != nil {
t.Fail()
}
r.HSet("key", "field", "value")
if data, _ := r.HGet("key", "field"); string(data) != "value" {
t.Fail()
}
}
func TestHGetAll(t *testing.T) {
r.Del("key")
if m, err := r.HGetAll("key"); err != nil {
t.Error(err)
} else if len(m) != 0 {
t.Fail()
}
r.HSet("key", "field", "value")
if m, _ := r.HGetAll("key"); m["field"] != "value" {
t.Fail()
}
}
func TestHIncrBy(t *testing.T) {
r.Del("key")
r.HSet("key", "field", "10")
if n, err := r.HIncrBy("key", "field", 2); err != nil {
t.Error(err)
} else if n != 12 {
t.Fail()
}
}
func TestHIncrByFloat(t *testing.T) {
r.Del("key")
r.HSet("key", "field", "10")
if f, err := r.HIncrByFloat("key", "field", 0.1); err != nil {
t.Error(err)
} else if f != 10.1 {
t.Fail()
}
}
func TestHKeys(t *testing.T) {
r.Del("key")
r.HSet("key", "field", "value")
if keys, err := r.HKeys("key"); err != nil {
t.Error(err)
} else if len(keys) != 1 {
t.Fail()
} else if keys[0] != "field" {
t.Fail()
}
}
func TestHLen(t *testing.T) {
r.Del("key")
r.HSet("key", "field", "value")
if n, err := r.HLen("key"); err != nil {
t.Error(err)
} else if n != 1 {
t.Fail()
}
}
func TestHMGet(t *testing.T) {
r.HSet("key", "field", "value")
data, err := r.HMGet("key", "field", "nofield")
if err != nil {
t.Error(err)
}
if string(data[0]) != "value" {
t.Fail()
}
if data[1] != nil {
t.Fail()
}
}
func TestHMSet(t *testing.T) {
pairs := map[string]string{
"field": "value",
"foo": "bar",
}
r.Del("key")
if err := r.HMSet("key", pairs); err != nil {
t.Error(err)
}
}
func TestHSet(t *testing.T) {
r.Del("key")
if b, err := r.HSet("key", "field", "value"); err != nil {
t.Error(err)
} else if !b {
t.Fail()
}
}
func TestHSetnx(t *testing.T) {
r.Del("key")
r.HSet("key", "field", "value")
if b, err := r.HSetnx("key", "field", "value"); err != nil {
t.Error(err)
} else if b {
t.Fail()
}
r.Del("key")
if b, _ := r.HSetnx("key", "field", "value"); !b {
t.Fail()
}
}
func TestHVals(t *testing.T) {
r.Del("key")
r.HSet("key", "field", "value")
if vals, err := r.HVals("key"); err != nil {
t.Error(err)
} else if len(vals) != 1 {
t.Fail()
} else if vals[0] != "value" {
t.Fail()
}
}
func TestHScan(t *testing.T) {
r.Del("key")
r.HSet("key", "field", "value")
if _, hash, err := r.HScan("key", 0, "", 0); err != nil {
t.Error(err)
} else if len(hash) == 0 {
t.Fail()
}
}