@@ -951,6 +951,33 @@ def test_zunionstore_with_weight(self, r):
951
951
assert r .zrange ('d' , 0 , - 1 , withscores = True ) == \
952
952
[(b ('a2' ), 5 ), (b ('a4' ), 12 ), (b ('a3' ), 20 ), (b ('a1' ), 23 )]
953
953
954
+ #HYPERLOGLOG TESTS
955
+ @skip_if_server_version_lt ('2.8.9' )
956
+ def test_pfadd (self , r ):
957
+ members = set ([b ('1' ), b ('2' ), b ('3' )])
958
+ assert r .pfadd ('a' , * members ) == 1
959
+ assert r .pfadd ('a' , * members ) == 0
960
+ assert r .pfcount ('a' ) == len (members )
961
+
962
+ @skip_if_server_version_lt ('2.8.9' )
963
+ def test_pfcount (self , r ):
964
+ members = set ([b ('1' ), b ('2' ), b ('3' )])
965
+ r .pfadd ('a' , * members )
966
+ assert r .pfcount ('a' ) == len (members )
967
+
968
+ @skip_if_server_version_lt ('2.8.9' )
969
+ def test_pfmerge (self , r ):
970
+ mema = set ([b ('1' ), b ('2' ), b ('3' )])
971
+ memb = set ([b ('2' ), b ('3' ), b ('4' )])
972
+ memc = set ([b ('5' ), b ('6' ), b ('7' )])
973
+ r .pfadd ('a' , * mema )
974
+ r .pfadd ('b' , * memb )
975
+ r .pfadd ('c' , * memc )
976
+ r .pfmerge ('d' , 'c' , 'a' )
977
+ assert r .pfcount ('d' ) == 6
978
+ r .pfmerge ('d' , 'b' )
979
+ assert r .pfcount ('d' ) == 7
980
+
954
981
# HASH COMMANDS
955
982
def test_hget_and_hset (self , r ):
956
983
r .hmset ('a' , {'1' : 1 , '2' : 2 , '3' : 3 })
0 commit comments