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"; /// /// 构造 /// 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 } }