|
|
@ -576,8 +576,170 @@ namespace RedisStudyTest
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void SortedSetRangeByScore_NotKey_Test()
|
|
|
|
public void SortedSetRangeByScore_NotKey_Test()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey);
|
|
|
|
var members = redisSortedSetStudy.SortedSetRangeByScore(defaultRedisKey);
|
|
|
|
|
|
|
|
Assert.Empty(members);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 排它性参数Exclude设置 测试
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
[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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 排序参数测试
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
[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]);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 分页测试
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
[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
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 清理
|
|
|
|
#region 清理
|
|
|
|