@@ -67,3 +67,36 @@ redis$exec(paste("del", key))
67
67
# # delete key
68
68
n <- redis $ exec(paste(" del" , key ))
69
69
expect_equal(n , 0 )
70
+
71
+
72
+ # # check lrem
73
+ redis $ exec(paste(" del" , key ))
74
+ elem <- " abc"
75
+ redis $ lpush(key , elem )
76
+ redis $ lpush(key , elem )
77
+ redis $ lpush(key , elem )
78
+ redis $ lpush(key , elem )
79
+ expect_equal(redis $ llen(key ), 4 )
80
+ redis $ lrem(key , 1 , elem )
81
+ expect_equal(redis $ llen(key ), 3 )
82
+ redis $ lrem(key , - 1 , elem )
83
+ expect_equal(redis $ llen(key ), 2 )
84
+ expect_equal(redis $ lpop(key ), elem )
85
+ expect_equal(redis $ lpop(key ), elem )
86
+ expect_equal(redis $ keys(key ), character ())
87
+
88
+ # # check lmove
89
+ altkey <- " RcppRedis:test:myotherlist"
90
+ redis $ exec(paste(" del" , altkey ))
91
+ redis $ rpush(key , 1 )
92
+ redis $ rpush(key , 2 )
93
+ redis $ rpush(key , 3 )
94
+ redis $ lmove(key , altkey , " LEFT" , " RIGHT" )
95
+ expect_equal(redis $ llen(key ), 2 )
96
+ expect_equal(redis $ llen(altkey ), 1 )
97
+ redis $ lmove(key , altkey , " LEFT" , " LEFT" )
98
+ expect_equal(redis $ llen(key ), 1 )
99
+ expect_equal(redis $ llen(altkey ), 2 )
100
+ expect_equal(redis $ lpop(key ), 3 ) # as 1 and 2 have been moved (both from left)
101
+ expect_equal(redis $ lpop(altkey ), 2 ) # as 2 was inserted to the left
102
+ expect_equal(redis $ lpop(altkey ), 1 ) # as 1 remains
0 commit comments