@@ -28,7 +28,7 @@ public async Task LInsertETagAdvancedTestAsync()
2828 {
2929 var cmdArgs = new object [ ] { ListKeys [ 0 ] , "AFTER" , ListData [ 0 ] [ 1 ] , ListData [ 1 ] [ 0 ] } ;
3030
31- await CheckCommandsAsync ( RespCommand . LINSERT , cmdArgs , VerifyResult ) ;
31+ await CheckCommandAsync ( RespCommand . LINSERT , cmdArgs , VerifyResult ) ;
3232
3333 static void VerifyResult ( RedisResult result )
3434 {
@@ -41,7 +41,7 @@ public async Task LMoveETagAdvancedTestAsync()
4141 {
4242 var cmdArgs = new object [ ] { ListKeys [ 1 ] , ListKeys [ 0 ] , "LEFT" , "RIGHT" } ;
4343
44- await CheckCommandsAsync ( RespCommand . LMOVE , cmdArgs , VerifyResult , [ 0 , 1 ] ) ;
44+ await CheckCommandAsync ( RespCommand . LMOVE , cmdArgs , VerifyResult , [ 0 , 1 ] ) ;
4545
4646 static void VerifyResult ( RedisResult result )
4747 {
@@ -54,7 +54,7 @@ public async Task LMPopETagAdvancedTestAsync()
5454 {
5555 var cmdArgs = new object [ ] { 1 , ListKeys [ 0 ] , "LEFT" } ;
5656
57- await CheckCommandsAsync ( RespCommand . LMPOP , cmdArgs , VerifyResult ) ;
57+ await CheckCommandAsync ( RespCommand . LMPOP , cmdArgs , VerifyResult ) ;
5858
5959 static void VerifyResult ( RedisResult result )
6060 {
@@ -72,7 +72,7 @@ public async Task LPopETagAdvancedTestAsync()
7272 {
7373 var cmdArgs = new object [ ] { ListKeys [ 0 ] } ;
7474
75- await CheckCommandsAsync ( RespCommand . LPOP , cmdArgs , VerifyResult ) ;
75+ await CheckCommandAsync ( RespCommand . LPOP , cmdArgs , VerifyResult ) ;
7676
7777 static void VerifyResult ( RedisResult result )
7878 {
@@ -85,7 +85,7 @@ public async Task LPushETagAdvancedTestAsync()
8585 {
8686 var cmdArgs = new object [ ] { ListKeys [ 0 ] , ListData [ 1 ] [ 0 ] } ;
8787
88- await CheckCommandsAsync ( RespCommand . LPUSH , cmdArgs , VerifyResult ) ;
88+ await CheckCommandAsync ( RespCommand . LPUSH , cmdArgs , VerifyResult ) ;
8989
9090 static void VerifyResult ( RedisResult result )
9191 {
@@ -98,7 +98,7 @@ public async Task LPushXETagAdvancedTestAsync()
9898 {
9999 var cmdArgs = new object [ ] { ListKeys [ 0 ] , ListData [ 1 ] [ 0 ] } ;
100100
101- await CheckCommandsAsync ( RespCommand . LPUSHX , cmdArgs , VerifyResult ) ;
101+ await CheckCommandAsync ( RespCommand . LPUSHX , cmdArgs , VerifyResult ) ;
102102
103103 static void VerifyResult ( RedisResult result )
104104 {
@@ -111,7 +111,7 @@ public async Task LRemETagAdvancedTestAsync()
111111 {
112112 var cmdArgs = new object [ ] { ListKeys [ 0 ] , 0 , ListData [ 0 ] [ 0 ] } ;
113113
114- await CheckCommandsAsync ( RespCommand . LREM , cmdArgs , VerifyResult ) ;
114+ await CheckCommandAsync ( RespCommand . LREM , cmdArgs , VerifyResult ) ;
115115
116116 static void VerifyResult ( RedisResult result )
117117 {
@@ -124,7 +124,7 @@ public async Task RPopETagAdvancedTestAsync()
124124 {
125125 var cmdArgs = new object [ ] { ListKeys [ 0 ] } ;
126126
127- await CheckCommandsAsync ( RespCommand . RPOP , cmdArgs , VerifyResult ) ;
127+ await CheckCommandAsync ( RespCommand . RPOP , cmdArgs , VerifyResult ) ;
128128
129129 static void VerifyResult ( RedisResult result )
130130 {
@@ -137,7 +137,7 @@ public async Task RPopLPushETagAdvancedTestAsync()
137137 {
138138 var cmdArgs = new object [ ] { ListKeys [ 0 ] , ListKeys [ 1 ] } ;
139139
140- await CheckCommandsAsync ( RespCommand . RPOPLPUSH , cmdArgs , VerifyResult , [ 0 , 1 ] ) ;
140+ await CheckCommandAsync ( RespCommand . RPOPLPUSH , cmdArgs , VerifyResult , [ 0 , 1 ] ) ;
141141
142142 static void VerifyResult ( RedisResult result )
143143 {
@@ -150,7 +150,7 @@ public async Task RPushETagAdvancedTestAsync()
150150 {
151151 var cmdArgs = new object [ ] { ListKeys [ 0 ] , ListData [ 1 ] [ 0 ] } ;
152152
153- await CheckCommandsAsync ( RespCommand . RPUSH , cmdArgs , VerifyResult ) ;
153+ await CheckCommandAsync ( RespCommand . RPUSH , cmdArgs , VerifyResult ) ;
154154
155155 static void VerifyResult ( RedisResult result )
156156 {
@@ -163,7 +163,7 @@ public async Task RPushXETagAdvancedTestAsync()
163163 {
164164 var cmdArgs = new object [ ] { ListKeys [ 0 ] , ListData [ 1 ] [ 0 ] } ;
165165
166- await CheckCommandsAsync ( RespCommand . RPUSHX , cmdArgs , VerifyResult ) ;
166+ await CheckCommandAsync ( RespCommand . RPUSHX , cmdArgs , VerifyResult ) ;
167167
168168 static void VerifyResult ( RedisResult result )
169169 {
@@ -176,7 +176,7 @@ public async Task LSetETagAdvancedTestAsync()
176176 {
177177 var cmdArgs = new object [ ] { ListKeys [ 0 ] , 0 , ListData [ 1 ] [ 0 ] } ;
178178
179- await CheckCommandsAsync ( RespCommand . LSET , cmdArgs , VerifyResult ) ;
179+ await CheckCommandAsync ( RespCommand . LSET , cmdArgs , VerifyResult ) ;
180180
181181 static void VerifyResult ( RedisResult result )
182182 {
@@ -189,7 +189,7 @@ public async Task LTrimETagAdvancedTestAsync()
189189 {
190190 var cmdArgs = new object [ ] { ListKeys [ 0 ] , 0 , 1 } ;
191191
192- await CheckCommandsAsync ( RespCommand . LTRIM , cmdArgs , VerifyResult ) ;
192+ await CheckCommandAsync ( RespCommand . LTRIM , cmdArgs , VerifyResult ) ;
193193
194194 static void VerifyResult ( RedisResult result )
195195 {
@@ -200,13 +200,13 @@ static void VerifyResult(RedisResult result)
200200 [ Test ]
201201 public async Task BLMoveETagAdvancedTestAsync ( )
202202 {
203- var cmdArgs = new object [ ] { ListKeys [ 0 ] , ListKeys [ 1 ] , "LEFT" , "RIGHT" , 5 } ;
203+ var cmdArgs = new object [ ] { ListKeys [ 1 ] , ListKeys [ 0 ] , "LEFT" , "RIGHT" , 5 } ;
204204
205- await CheckBlockingCommandsAsync ( RespCommand . BLMOVE , cmdArgs , VerifyResult , [ 0 , 1 ] ) ;
205+ await CheckBlockingCommandAsync ( RespCommand . BLMOVE , cmdArgs , VerifyResult , [ 0 , 1 ] ) ;
206206
207207 static void VerifyResult ( byte [ ] result )
208208 {
209- var elem1 = ListData [ 0 ] [ 0 ] ;
209+ var elem1 = ListData [ 1 ] [ 0 ] ;
210210 var btExpectedResponse = $ "${ elem1 . ToString ( ) . Length } \r \n { elem1 . ToString ( ) } \r \n ";
211211 TestUtils . AssertEqualUpToExpectedLength ( btExpectedResponse , result ) ;
212212 }
@@ -217,7 +217,7 @@ public async Task BLPopETagAdvancedTestAsync()
217217 {
218218 var cmdArgs = new object [ ] { ListKeys [ 0 ] , ListKeys [ 1 ] , 5 } ;
219219
220- await CheckBlockingCommandsAsync ( RespCommand . BLPOP , cmdArgs , VerifyResult ) ;
220+ await CheckBlockingCommandAsync ( RespCommand . BLPOP , cmdArgs , VerifyResult ) ;
221221
222222 static void VerifyResult ( byte [ ] result )
223223 {
@@ -229,12 +229,30 @@ static void VerifyResult(byte[] result)
229229 }
230230 }
231231
232+ [ Test ]
233+ public async Task BLMPopETagAdvancedTestAsync ( )
234+ {
235+ var cmdArgs = new object [ ] { 5 , 2 , ListKeys [ 0 ] , ListKeys [ 1 ] , "LEFT" , "COUNT" , 2 } ;
236+
237+ await CheckBlockingCommandAsync ( RespCommand . BLMPOP , cmdArgs , VerifyResult ) ;
238+
239+ static void VerifyResult ( byte [ ] result )
240+ {
241+ var key1 = ListKeys [ 0 ] . ToString ( ) ;
242+ var elem1 = ListData [ 0 ] [ 0 ] ;
243+ var elem2 = ListData [ 0 ] [ 1 ] ;
244+ var btExpectedResponse =
245+ $ "*2\r \n ${ key1 . Length } \r \n { key1 } \r \n *2\r \n ${ elem1 . ToString ( ) . Length } \r \n { elem1 . ToString ( ) } \r \n ${ elem2 . ToString ( ) . Length } \r \n { elem2 . ToString ( ) } \r \n ";
246+ TestUtils . AssertEqualUpToExpectedLength ( btExpectedResponse , result ) ;
247+ }
248+ }
249+
232250 [ Test ]
233251 public async Task BRPopETagAdvancedTestAsync ( )
234252 {
235253 var cmdArgs = new object [ ] { ListKeys [ 0 ] , ListKeys [ 1 ] , 5 } ;
236254
237- await CheckBlockingCommandsAsync ( RespCommand . BRPOP , cmdArgs , VerifyResult ) ;
255+ await CheckBlockingCommandAsync ( RespCommand . BRPOP , cmdArgs , VerifyResult ) ;
238256
239257 static void VerifyResult ( byte [ ] result )
240258 {
@@ -246,6 +264,21 @@ static void VerifyResult(byte[] result)
246264 }
247265 }
248266
267+ [ Test ]
268+ public async Task BRPopLPushETagAdvancedTestAsync ( )
269+ {
270+ var cmdArgs = new object [ ] { ListKeys [ 1 ] , ListKeys [ 0 ] , 5 } ;
271+
272+ await CheckBlockingCommandAsync ( RespCommand . BRPOPLPUSH , cmdArgs , VerifyResult , [ 0 , 1 ] ) ;
273+
274+ static void VerifyResult ( byte [ ] result )
275+ {
276+ var elem1 = ListData [ 1 ] [ ^ 1 ] ;
277+ var btExpectedResponse = $ "${ elem1 . ToString ( ) . Length } \r \n { elem1 . ToString ( ) } \r \n ";
278+ TestUtils . AssertEqualUpToExpectedLength ( btExpectedResponse , result ) ;
279+ }
280+ }
281+
249282 public override void DataSetUp ( )
250283 {
251284 using var redis = ConnectionMultiplexer . Connect ( TestUtils . GetConfig ( ) ) ;
0 commit comments