summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/test_helper.tcl2
-rw-r--r--tests/unit/type/zset.tcl28
2 files changed, 29 insertions, 1 deletions
diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl
index bce8ded59..e2a9e5252 100644
--- a/tests/test_helper.tcl
+++ b/tests/test_helper.tcl
@@ -110,7 +110,7 @@ proc cleanup {} {
}
proc execute_everything {} {
- if 1 {
+ if 0 {
# Use this when hacking on new tests.
set ::verbose 1
execute_tests "unit/first"
diff --git a/tests/unit/type/zset.tcl b/tests/unit/type/zset.tcl
index 761cac49c..7b7572803 100644
--- a/tests/unit/type/zset.tcl
+++ b/tests/unit/type/zset.tcl
@@ -48,6 +48,34 @@ start_server {tags {"zset"}} {
assert_error "*NaN*" {r zincrby myzset -inf abc}
}
+ test {ZADD - Variadic version base case} {
+ r del myzset
+ list [r zadd myzset 10 a 20 b 30 c] [r zrange myzset 0 -1 withscores]
+ } {3 {a 10 b 20 c 30}}
+
+ test {ZADD - Return value is the number of actually added items} {
+ list [r zadd myzset 5 x 20 b 30 c] [r zrange myzset 0 -1 withscores]
+ } {1 {x 5 a 10 b 20 c 30}}
+
+ test {ZADD - Variadic version does not add nothing on single parsing err} {
+ r del myzset
+ catch {r zadd myzset 10 a 20 b 30.badscore c} e
+ assert_match {*ERR*not*double*} $e
+ r exists myzset
+ } {0}
+
+ test {ZADD - Variadic version will raise error on missing arg} {
+ r del myzset
+ catch {r zadd myzset 10 a 20 b 30 c 40} e
+ assert_match {*ERR*syntax*} $e
+ }
+
+ test {ZINCRBY does not work variadic even if shares ZADD implementation} {
+ r del myzset
+ catch {r zincrby myzset 10 a 20 b 30 c} e
+ assert_match {*ERR*wrong*number*arg*} $e
+ }
+
test "ZCARD basics - $encoding" {
assert_equal 3 [r zcard ztmp]
assert_equal 0 [r zcard zdoesntexist]