RedisSetStudyTest

master
ruyu 7 years ago
parent 6e15c1bbb7
commit c2fa58fcfa

@ -0,0 +1,97 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StackExchange.Redis;
using Xunit;
using Xunit.Extensions;
using Xunit.Serialization;
using Xunit.Abstractions;
using Xunit.Sdk;
using RedisStuy;
namespace RedisStudyTest
{
/// <summary>
/// Redis 集合学习 测试
/// </summary>
[Trait("RedisSet", "All")]
public class RedisSetStudyTest:IDisposable
{
#region 初始化
private readonly ITestOutputHelper testOutput;
private IDatabase redisDatabase = null;
private RedisSetStudy redisSetStudy = null;
private TimeSpan defaultExpiry = TimeSpan.FromSeconds(20);
private string defaultRedisKey = "RedisStudy:Set:xUnitTest";
/// <summary>
/// 构造
/// </summary>
public RedisSetStudyTest(ITestOutputHelper output)
{
this.testOutput = output;
redisDatabase = RedisHelper.GetRedisDatabase();
redisSetStudy = new RedisSetStudy();
}
#endregion
#region SetAdd
[Fact]
public void SetAddOneTest()
{
var addResult = redisSetStudy.SetAdd(defaultRedisKey, "first");
Assert.True(addResult);
addResult = redisSetStudy.SetAdd(defaultRedisKey, "second");
Assert.True(addResult);
var setMembers = redisSetStudy.SetMembers(defaultRedisKey);
Assert.NotEmpty(setMembers);
Assert.Equal(2, setMembers.Length);
Assert.Contains("first", setMembers);
Assert.Contains("second", setMembers);
}
[Fact]
public void SetAddGroupTest()
{
RedisValue[] values = new RedisValue[]
{
"first",
"second",
"third",
"four",
};
var setAddNumber = redisSetStudy.SetAdd(defaultRedisKey, values);
Assert.Equal(4, setAddNumber);
//忽略已存在的项
setAddNumber = redisSetStudy.SetAdd(defaultRedisKey, values);
Assert.Equal(0, setAddNumber);
var setMember = redisSetStudy.SetMembers(defaultRedisKey);
Assert.Equal(4, setMember.Length);
Assert.Contains(values[0], setMember);
Assert.Contains(values[1], setMember);
Assert.Contains(values[2], setMember);
Assert.Contains(values[3], setMember);
}
#endregion
#region 清理
public void Dispose()
{
redisDatabase.KeyDelete(defaultRedisKey);
}
#endregion
}
}

@ -80,6 +80,7 @@
<Compile Include="RedisHashStudyTest.cs" /> <Compile Include="RedisHashStudyTest.cs" />
<Compile Include="RedisLockStudyTest.cs" /> <Compile Include="RedisLockStudyTest.cs" />
<Compile Include="RedisListStudyTest.cs" /> <Compile Include="RedisListStudyTest.cs" />
<Compile Include="RedisSetStudyTest.cs" />
<Compile Include="RedisStringStudyTest.cs" /> <Compile Include="RedisStringStudyTest.cs" />
<Compile Include="RedisStudyTest.cs" /> <Compile Include="RedisStudyTest.cs" />
<Compile Include="RedisSortSetStudyTest.cs" /> <Compile Include="RedisSortSetStudyTest.cs" />

@ -32,6 +32,7 @@ namespace RedisStuy
/// <summary> /// <summary>
/// 添加一组值到集合中 /// 添加一组值到集合中
/// </summary> /// </summary>
/// <returns>添加到集合中的元素的数量,不包括已经存在于集合中的所有元素。</returns>
public long SetAdd(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None) public long SetAdd(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None)
{ {
return redisDatabase.SetAdd(key, values, flags); return redisDatabase.SetAdd(key, values, flags);

Loading…
Cancel
Save