summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2014-04-18 12:36:33 +0200
committerantirez <antirez@gmail.com>2014-04-18 12:36:33 +0200
commit85a2f2354ea604f0b69f109aa8d117e9968353ac (patch)
tree22b01de7b9e0da5ed0fa2437f18bef220ecc713f
parent5eb7ac0c920336b5711f125b6dcc627d89b9f970 (diff)
downloadredis-85a2f2354ea604f0b69f109aa8d117e9968353ac.tar.gz
PFCOUNT multi-key test added.
-rw-r--r--tests/unit/hyperloglog.tcl15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/unit/hyperloglog.tcl b/tests/unit/hyperloglog.tcl
index 47e3db2a1..af86e68e5 100644
--- a/tests/unit/hyperloglog.tcl
+++ b/tests/unit/hyperloglog.tcl
@@ -136,6 +136,21 @@ start_server {tags {"hll"}} {
r pfcount hll
} {5}
+ test {PFCOUNT multiple-keys merge returns cardinality of union} {
+ r del hll1 hll2 hll3
+ for {set x 1} {$x < 10000} {incr x} {
+ # Force dense representation of hll2
+ r pfadd hll1 "foo-$x"
+ r pfadd hll2 "bar-$x"
+ r pfadd hll3 "zap-$x"
+
+ set card [r pfcount hll1 hll2 hll3]
+ set realcard [expr {$x*3}]
+ set err [expr {abs($card-$realcard)}]
+ assert {$err < (double($card)/100)*5}
+ }
+ }
+
test {PFDEBUG GETREG returns the HyperLogLog raw registers} {
r del hll
r pfadd hll 1 2 3