public void GetNewItemsAsList_EmptySessionData() { ChangeTrackingSessionStateItemCollection sessionItems = new ChangeTrackingSessionStateItemCollection(); List <object> list = RedisUtility.GetNewItemsAsList(sessionItems); Assert.Equal(0, list.Count); }
public void GetNewItemsAsList_WithNullSessionData() { ChangeTrackingSessionStateItemCollection sessionItems = new ChangeTrackingSessionStateItemCollection(); sessionItems["key"] = "val"; sessionItems["key1"] = null; List <object> list = RedisUtility.GetNewItemsAsList(sessionItems); Assert.Equal(4, list.Count); }
private bool SetPrepare(ISessionStateItemCollection data, int sessionTimeout, out string[] keyArgs, out object[] valueArgs) { keyArgs = null; valueArgs = null; if (data != null && data.Count > 0) { ChangeTrackingSessionStateItemCollection sessionItems = (ChangeTrackingSessionStateItemCollection)data; List <object> list = redisUtility.GetNewItemsAsList(sessionItems); if (list.Count > 0) { keyArgs = new string[] { Keys.DataKey, Keys.InternalKey }; valueArgs = new object[list.Count + 2]; // this +2 is for first 2 values in ARGV that we will add now valueArgs[0] = list.Count + 2; valueArgs[1] = sessionTimeout; list.CopyTo(valueArgs, 2); return(true); } } return(false); }