diff --git a/RedisStudyTest/RedisSortedSetStudyTest.cs b/RedisStudyTest/RedisSortedSetStudyTest.cs
index 6ea9363..ac68bc5 100644
--- a/RedisStudyTest/RedisSortedSetStudyTest.cs
+++ b/RedisStudyTest/RedisSortedSetStudyTest.cs
@@ -576,8 +576,170 @@ namespace RedisStudyTest
[Fact]
public void SortedSetRangeByScore_NotKey_Test()
{
- redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey);
+ var members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey);
+ Assert.Empty(members);
+ }
+
+ ///
+ /// 排它性参数Exclude设置 测试
+ ///
+ [Fact]
+ public void SortedSetRangeByScore_Exclude_Test()
+ {
+ SortedSetEntry[] sortedSetEntries = new SortedSetEntry[]
+ {
+ new SortedSetEntry("first",1),
+ new SortedSetEntry("second",2),
+ new SortedSetEntry("third",3),
+ new SortedSetEntry("four",4),
+ new SortedSetEntry("five",5),
+ };
+ redisSortedSetStudy.SortedSetAdd(defaultRedisKey, sortedSetEntries);
+
+ //默认:Exclude.None [Start,Stop]
+ var members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, 2, 4, Exclude.None);
+ Assert.Equal(3, members.Length);
+ Assert.Contains("second", members);
+ Assert.Contains("third", members);
+ Assert.Contains("four", members);
+
+ //Exclude.Start (Start,Stop]
+ members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, 2, 4, Exclude.Start);
+ Assert.Equal(2, members.Length);
+ Assert.Contains("third", members);
+ Assert.Contains("four", members);
+
+ //Exclude.Stop [Start,Stop)
+ members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, 2, 4, Exclude.Stop);
+ Assert.Equal(2, members.Length);
+ Assert.Contains("second", members);
+ Assert.Contains("third", members);
+
+ //Exclude.Both (Start,Stop)
+ members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, 2, 4, Exclude.Both);
+ Assert.Single(members);
+ Assert.Contains("third", members);
}
+
+ ///
+ /// 排序参数测试
+ ///
+ [Fact]
+ public void SortedSetRangeByScore_Sort_Test()
+ {
+ SortedSetEntry[] sortedSetEntries = new SortedSetEntry[]
+ {
+ new SortedSetEntry("first",1),
+ new SortedSetEntry("second",2),
+ new SortedSetEntry("third",3),
+ new SortedSetEntry("four",4),
+ new SortedSetEntry("five",5),
+ };
+ redisSortedSetStudy.SortedSetAdd(defaultRedisKey, sortedSetEntries);
+
+ //默认:升序
+ var members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, 2, 4, Exclude.None, Order.Ascending);
+ Assert.Equal(3, members.Length);
+ Assert.Equal("second", members[0]);
+ Assert.Equal("third", members[1]);
+ Assert.Equal("four", members[2]);
+
+ //降序
+ members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, 2, 4, Exclude.None, Order.Descending);
+ Assert.Equal(3, members.Length);
+ Assert.Equal("four", members[0]);
+ Assert.Equal("third", members[1]);
+ Assert.Equal("second", members[2]);
+ }
+
+ ///
+ /// 分页测试
+ ///
+ [Fact]
+ public void SortedSetRangeByScore_Page_Test()
+ {
+ SortedSetEntry[] sortedSetEntries = new SortedSetEntry[]
+ {
+ new SortedSetEntry("Andy",1),
+ new SortedSetEntry("and",2),
+ new SortedSetEntry("And",3),
+ new SortedSetEntry("Banana",4),
+ new SortedSetEntry("color",5),
+ new SortedSetEntry("query",6),
+ new SortedSetEntry("remove",7),
+ new SortedSetEntry("101",8),
+ new SortedSetEntry("304",9),
+ new SortedSetEntry("404",10),
+ new SortedSetEntry("王高峰",11),
+ new SortedSetEntry("刘山东",12),
+ };
+ redisSortedSetStudy.SortedSetAdd(defaultRedisKey, sortedSetEntries);
+
+ //第一页
+ var members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, double.MinValue, double.MaxValue, Exclude.None, Order.Ascending, 0, 4, CommandFlags.None);
+ Assert.Equal(4, members.Length);
+ Assert.Contains("Andy", members);
+ Assert.Contains("and", members);
+ Assert.Contains("And", members);
+ Assert.Contains("Banana", members);
+
+ //第2页
+ members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, double.NegativeInfinity, double.PositiveInfinity, Exclude.None, Order.Ascending, 4, 4, CommandFlags.None);
+ Assert.Equal(4, members.Length);
+ Assert.Contains("color", members);
+ Assert.Contains("query", members);
+ Assert.Contains("remove", members);
+ Assert.Contains("101", members);
+
+ //第3页
+ members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, double.NegativeInfinity, double.PositiveInfinity, Exclude.None, Order.Ascending, 8, 4, CommandFlags.None);
+ Assert.Equal(4, members.Length);
+ Assert.Contains("304", members);
+ Assert.Contains("404", members);
+ Assert.Contains("王高峰", members);
+ Assert.Contains("刘山东", members);
+ }
+
+ [Fact]
+ public void SortedSetRangeByScoreTest()
+ {
+ SortedSetEntry[] sortedSetEntries = new SortedSetEntry[]
+ {
+ new SortedSetEntry("Andy",1),
+ new SortedSetEntry("and",2),
+ new SortedSetEntry("And",3),
+ new SortedSetEntry("Banana",4),
+ new SortedSetEntry("color",5),
+ new SortedSetEntry("query",6),
+ new SortedSetEntry("remove",7),
+ new SortedSetEntry("101",8),
+ new SortedSetEntry("304",9),
+ new SortedSetEntry("404",10),
+ new SortedSetEntry("王高峰",11),
+ new SortedSetEntry("刘山东",12),
+ };
+ redisSortedSetStudy.SortedSetAdd(defaultRedisKey, sortedSetEntries);
+
+ var members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, 1, 5);
+ Assert.Equal(5, members.Length);
+ Assert.Equal("Andy", members[0]);
+ Assert.Equal("and", members[1]);
+ Assert.Equal("And", members[2]);
+ Assert.Equal("Banana", members[3]);
+ Assert.Equal("color", members[4]);
+
+ members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, 5, 7, Exclude.None, Order.Descending);
+ Assert.Equal(3, members.Length);
+ Assert.Equal("remove", members[0]);
+ Assert.Equal("query", members[1]);
+ Assert.Equal("color", members[2]);
+
+ members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey, double.NegativeInfinity, double.PositiveInfinity);
+ Assert.Equal(12, members.Length);
+ Assert.Equal("Andy", members[0]);
+ Assert.Equal("刘山东", members[11]);
+ }
+
#endregion
#region 清理