@@ -189,6 +189,9 @@ public void AddWithOptions()
189
189
var added = db . SortedSetAdd ( key , entries ) ;
190
190
ClassicAssert . AreEqual ( entries . Length , added ) ;
191
191
192
+ var lex = db . SortedSetRangeByValue ( key , default , "c" ) ;
193
+ CollectionAssert . AreEqual ( new RedisValue [ ] { "a" , "b" , "c" } , lex ) ;
194
+
192
195
// XX - Only update elements that already exist. Don't add new elements.
193
196
var testEntries = new [ ]
194
197
{
@@ -200,6 +203,8 @@ public void AddWithOptions()
200
203
201
204
added = db . SortedSetAdd ( key , testEntries , SortedSetWhen . Exists ) ;
202
205
ClassicAssert . AreEqual ( 0 , added ) ;
206
+ lex = db . SortedSetRangeByValue ( key , default , "c" ) ;
207
+ CollectionAssert . AreEqual ( new RedisValue [ ] { "a" , "c" , "b" } , lex ) ;
203
208
var scores = db . SortedSetScores ( key , [ new RedisValue ( "a" ) , new RedisValue ( "b" ) ] ) ;
204
209
CollectionAssert . AreEqual ( new double [ ] { 3 , 4 } , scores ) ;
205
210
var count = db . SortedSetLength ( key ) ;
@@ -216,6 +221,8 @@ public void AddWithOptions()
216
221
217
222
added = db . SortedSetAdd ( key , testEntries , SortedSetWhen . NotExists ) ;
218
223
ClassicAssert . AreEqual ( 2 , added ) ;
224
+ lex = db . SortedSetRangeByValue ( key , default , "c" ) ;
225
+ CollectionAssert . AreEqual ( new RedisValue [ ] { "a" , "c" , "b" } , lex ) ;
219
226
scores = db . SortedSetScores ( key , [ new RedisValue ( "a" ) , new RedisValue ( "b" ) , new RedisValue ( "k" ) , new RedisValue ( "l" ) ] ) ;
220
227
CollectionAssert . AreEqual ( new double [ ] { 3 , 4 , 11 , 12 } , scores ) ;
221
228
count = db . SortedSetLength ( key ) ;
@@ -231,6 +238,8 @@ public void AddWithOptions()
231
238
232
239
added = db . SortedSetAdd ( key , testEntries , SortedSetWhen . LessThan ) ;
233
240
ClassicAssert . AreEqual ( 1 , added ) ;
241
+ lex = db . SortedSetRangeByValue ( key , default , "c" ) ;
242
+ CollectionAssert . AreEqual ( new RedisValue [ ] { "a" , "b" , "c" } , lex ) ;
234
243
scores = db . SortedSetScores ( key , [ new RedisValue ( "a" ) , new RedisValue ( "b" ) , new RedisValue ( "m" ) ] ) ;
235
244
CollectionAssert . AreEqual ( new double [ ] { 3 , 3 , 13 } , scores ) ;
236
245
count = db . SortedSetLength ( key ) ;
@@ -246,6 +255,8 @@ public void AddWithOptions()
246
255
247
256
added = db . SortedSetAdd ( key , testEntries , SortedSetWhen . GreaterThan ) ;
248
257
ClassicAssert . AreEqual ( 1 , added ) ;
258
+ lex = db . SortedSetRangeByValue ( key , default , "c" ) ;
259
+ CollectionAssert . AreEqual ( new RedisValue [ ] { "b" , "c" , "a" } , lex ) ;
249
260
scores = db . SortedSetScores ( key , [ new RedisValue ( "a" ) , new RedisValue ( "b" ) , new RedisValue ( "n" ) ] ) ;
250
261
CollectionAssert . AreEqual ( new double [ ] { 4 , 3 , 14 } , scores ) ;
251
262
count = db . SortedSetLength ( key ) ;
@@ -2044,6 +2055,12 @@ public void CanDoZRangeByLex()
2044
2055
expectedResponse = "*3\r \n $1\r \n a\r \n $1\r \n b\r \n $1\r \n c\r \n " ;
2045
2056
actualValue = Encoding . ASCII . GetString ( response ) . Substring ( 0 , expectedResponse . Length ) ;
2046
2057
ClassicAssert . AreEqual ( expectedResponse , actualValue ) ;
2058
+
2059
+ // ZRANGEBYLEX Synonym
2060
+ response = lightClientRequest . SendCommand ( "ZRANGEBYLEX board - [c" , 4 ) ;
2061
+ //expectedResponse = "*3\r\n$1\r\na\r\n$1\r\nb\r\n$1\r\nc\r\n";
2062
+ actualValue = Encoding . ASCII . GetString ( response ) . Substring ( 0 , expectedResponse . Length ) ;
2063
+ ClassicAssert . AreEqual ( expectedResponse , actualValue ) ;
2047
2064
}
2048
2065
2049
2066
[ Test ]
@@ -2082,6 +2099,12 @@ public void CanDoZRangeByLexReverse()
2082
2099
expectedResponse = "*3\r \n $1\r \n c\r \n $1\r \n b\r \n $1\r \n a\r \n " ;
2083
2100
actualValue = Encoding . ASCII . GetString ( response ) . Substring ( 0 , expectedResponse . Length ) ;
2084
2101
ClassicAssert . AreEqual ( expectedResponse , actualValue ) ;
2102
+
2103
+ // ZREVRANGEBYLEX Synonym
2104
+ response = lightClientRequest . SendCommand ( "ZREVRANGEBYLEX board [c - REV" , 4 ) ;
2105
+ //expectedResponse = "*3\r\n$1\r\nc\r\n$1\r\nb\r\n$1\r\na\r\n";
2106
+ actualValue = Encoding . ASCII . GetString ( response ) . Substring ( 0 , expectedResponse . Length ) ;
2107
+ ClassicAssert . AreEqual ( expectedResponse , actualValue ) ;
2085
2108
}
2086
2109
2087
2110
[ Test ]
@@ -2098,6 +2121,12 @@ public void CanDoZRangeByLexWithLimit()
2098
2121
expectedResponse = "*3\r \n $7\r \n NewYork\r \n $5\r \n Paris\r \n $5\r \n Seoul\r \n " ;
2099
2122
actualValue = Encoding . ASCII . GetString ( response ) . Substring ( 0 , expectedResponse . Length ) ;
2100
2123
ClassicAssert . AreEqual ( expectedResponse , actualValue ) ;
2124
+
2125
+ // ZRANGEBYLEX Synonym
2126
+ response = lightClientRequest . SendCommand ( "ZRANGEBYLEX mycity - + LIMIT 2 3" , 4 ) ;
2127
+ //expectedResponse = "*3\r\n$7\r\nNewYork\r\n$5\r\nParis\r\n$5\r\nSeoul\r\n";
2128
+ actualValue = Encoding . ASCII . GetString ( response ) . Substring ( 0 , expectedResponse . Length ) ;
2129
+ ClassicAssert . AreEqual ( expectedResponse , actualValue ) ;
2101
2130
}
2102
2131
2103
2132
0 commit comments