You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using StackExchange.Redis;
using Xunit;
using Xunit.Extensions;
using Xunit.Serialization;
using Xunit.Abstractions;
using Xunit.Sdk;
using RedisStudyModel;
using RedisStuy;
namespace RedisStudyTest
{
[Trait("RedisString", "All")]
public class RedisListStudyTest : IDisposable
{
#region 初始化
private readonly ITestOutputHelper testOutput;
private IDatabase redisDatabase = null;
private RedisListStudy redisListStudy = null;
private TimeSpan defaultExpiry = TimeSpan.FromSeconds(20);
private string defaultRedisKey = "RedisStudy:List:xUnitTest";
/// <summary>
/// 构造
/// </summary>
public RedisListStudyTest(ITestOutputHelper output)
{
this.testOutput = output;
redisDatabase = RedisHelper.GetRedisDatabase();
redisListStudy = new RedisListStudy();
}
#endregion
#region ListLeftPush
[Fact]
public void ListLeftPushTest()
{
var listLength = redisListStudy.ListLeftPush(defaultRedisKey, "first");
Assert.Equal(1, listLength);
listLength = redisListStudy.ListLeftPush(defaultRedisKey, "second");
Assert.Equal(2, listLength);
var second = redisListStudy.ListLeftPop(defaultRedisKey);
Assert.Equal("second", second);
var first = redisListStudy.ListLeftPop(defaultRedisKey);
Assert.Equal("first", first);
}
#endregion
#region ListRightPush
[Fact]
public void ListRightPushTest()
{
var listLength = redisListStudy.ListRightPush(defaultRedisKey, "first");
Assert.Equal(1, listLength);
listLength = redisListStudy.ListRightPush(defaultRedisKey, "second");
Assert.Equal(2, listLength);
var second = redisListStudy.ListRightPop(defaultRedisKey);
Assert.Equal("second", second);
var first = redisListStudy.ListRightPop(defaultRedisKey);
Assert.Equal("first", first);
}
#endregion
#region 清理
public void Dispose()
{
redisDatabase.KeyDelete(defaultRedisKey);
}
#endregion
}
}