public void Load_NullSession_ReturnsEmptyDictionary() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); // Act IDictionary<string, object> tempDataDictionary = testProvider.LoadTempData(GetControllerContext()); // Assert Assert.AreEqual(0, tempDataDictionary.Count); }
public void Load_ThrowsException_WhenSessionIsNotEnabled() { // Arrange var testProvider = new SessionStateTempDataProvider(); // Act & Assert Assert.Throws<InvalidOperationException>(() => { testProvider.LoadTempData(GetHttpContext(sessionEnabled: false)); }); }
public void Load_ReturnsEmptyDictionary_WhenNoSessionDataIsAvailable() { // Arrange var testProvider = new SessionStateTempDataProvider(); // Act var tempDataDictionary = testProvider.LoadTempData(GetHttpContext()); // Assert Assert.Empty(tempDataDictionary); }
public void SessionProviderLoadThrowsOnDisabledSessionState() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); // Act & Assert ExceptionHelper.ExpectInvalidOperationException( delegate { IDictionary<string, object> tempDataDictionary = testProvider.LoadTempData(GetControllerContext()); }, "The SessionStateTempDataProvider requires SessionState to be enabled."); }
public void Load_NonNullSession_NoSessionData_ReturnsEmptyDictionary() { // Arrange var testProvider = new SessionStateTempDataProvider(); // Act var tempDataDictionary = testProvider.LoadTempData( GetHttpContext(Mock.Of<ISession>())); // Assert Assert.Empty(tempDataDictionary); }
public void Load_NullSession_ReturnsEmptyDictionary() { // Arrange var testProvider = new SessionStateTempDataProvider(); // Act var tempDataDictionary = testProvider.LoadTempData( GetHttpContext(session: null, sessionEnabled: true)); // Assert Assert.Null(tempDataDictionary); }
public void Load_NonNullSession_NoSessionData_ReturnsEmptyDictionary() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Mock<ControllerContext> mockControllerContext = new Mock<ControllerContext>(); Mock<HttpSessionStateBase> mockSessionStateBase = new Mock<HttpSessionStateBase>(); mockControllerContext.Expect(c => c.HttpContext.Session).Returns(mockSessionStateBase.Object); // Act var result = testProvider.LoadTempData(mockControllerContext.Object); // Assert Assert.AreEqual(0, result.Count); }
public void Load_NonNullSession_NoSessionData_ReturnsEmptyDictionary() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Mock<ControllerContext> mockControllerContext = new Mock<ControllerContext>(); Mock<HttpSessionStateBase> mockSessionStateBase = new Mock<HttpSessionStateBase>(); mockControllerContext.Setup(c => c.HttpContext.Session).Returns(mockSessionStateBase.Object); // Act IDictionary<string, object> result = testProvider.LoadTempData(mockControllerContext.Object); // Assert Assert.Empty(result); }
public void Load_NonNullSession_CorrectSessionDataType_ReturnsSessionData() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Dictionary<string, object> tempData = new Dictionary<string, object> { { "foo", "bar" } }; Mock<ControllerContext> mockControllerContext = new Mock<ControllerContext>(); Mock<HttpSessionStateBase> mockSessionStateBase = new Mock<HttpSessionStateBase>(); mockControllerContext.Expect(c => c.HttpContext.Session).Returns(mockSessionStateBase.Object); mockSessionStateBase.ExpectGetItem<HttpSessionStateBase, string, object>(SessionStateTempDataProvider.TempDataSessionStateKey).Returns(tempData); // Act var result = testProvider.LoadTempData(mockControllerContext.Object); // Assert Assert.AreSame(tempData, result); }
public void Load_NonNullSession_IncorrectSessionDataType_ReturnsEmptyDictionary() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Mock <ControllerContext> mockControllerContext = new Mock <ControllerContext>(); Mock <HttpSessionStateBase> mockSessionStateBase = new Mock <HttpSessionStateBase>(); mockControllerContext .Setup(c => c.HttpContext.Session) .Returns(mockSessionStateBase.Object); mockSessionStateBase .Setup(ssb => ssb[SessionStateTempDataProvider.TempDataSessionStateKey]) .Returns(42); // Act IDictionary <string, object> result = testProvider.LoadTempData( mockControllerContext.Object ); // Assert Assert.Empty(result); }
public void Load_NonNullSession_CorrectSessionDataType_ReturnsSessionData() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Dictionary <string, object> tempData = new Dictionary <string, object> { { "foo", "bar" } }; Mock <ControllerContext> mockControllerContext = new Mock <ControllerContext>(); Mock <HttpSessionStateBase> mockSessionStateBase = new Mock <HttpSessionStateBase>(); mockControllerContext .Setup(c => c.HttpContext.Session) .Returns(mockSessionStateBase.Object); mockSessionStateBase .Setup(ssb => ssb[SessionStateTempDataProvider.TempDataSessionStateKey]) .Returns(tempData); // Act var result = testProvider.LoadTempData(mockControllerContext.Object); // Assert Assert.Same(tempData, result); }
public void SaveAndLoad_DictionaryCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var inputDictionary = new Dictionary<string, string> { { "Hello", "World" }, }; var input = new Dictionary<string, object> { { "Dictionary", inputDictionary } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var dictionary = Assert.IsType<Dictionary<string, string>>(TempData["Dictionary"]); Assert.Equal("World", dictionary["Hello"]); }
public void SaveAndLoad_ListCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "List`string", new List<string> { "one", "two" } } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var list = (IList<string>)TempData["List`string"]; Assert.Equal(2, list.Count); Assert.Equal("one", list[0]); Assert.Equal("two", list[1]); }
public void SaveAndLoad_LongCanBeSavedAndLoaded(long expected) { // Arrange var key = "LongValue"; var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { key, expected } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); var result = TempData[key]; // Assert var actual = Assert.IsType<long>(result); Assert.Equal(expected, actual); }
public void SaveAndLoad_EnumCanBeSavedAndLoaded() { // Arrange var key = "EnumValue"; var testProvider = new SessionStateTempDataProvider(); var expected = DayOfWeek.Friday; var input = new Dictionary<string, object> { { key, expected } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); var result = TempData[key]; // Assert var actual = (DayOfWeek)result; Assert.Equal(expected, actual); }
public void SaveAndLoad_GuidCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var inputGuid = Guid.NewGuid(); var input = new Dictionary<string, object> { { "Guid", inputGuid } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var guidVal = Assert.IsType<Guid>(TempData["Guid"]); Assert.Equal(inputGuid, guidVal); }
public void SaveAndLoad_DateTimeCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var inputDatetime = new DateTime(2010, 12, 12, 1, 2, 3, DateTimeKind.Local); var input = new Dictionary<string, object> { { "DateTime", inputDatetime } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var datetime = Assert.IsType<DateTime>(TempData["DateTime"]); Assert.Equal(inputDatetime, datetime); }
public void SaveAndLoad_StringCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "string", "value" } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var stringVal = Assert.IsType<string>(TempData["string"]); Assert.Equal("value", stringVal); }
public void SaveAndLoad_EmptyDictionary_RoundTripsAsNull() { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "EmptyDictionary", new Dictionary<string, int>() } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var emptyDictionary = (IDictionary<string, int>)TempData["EmptyDictionary"]; Assert.Null(emptyDictionary); }
public void SaveAndLoad_BoolCanBeStoredAndLoaded(bool value) { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "bool", value } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var boolVal = Assert.IsType<bool>(TempData["bool"]); Assert.Equal(value, boolVal); }
public void SaveAndLoad_IntCanBeStoredAndLoaded(int expected) { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "int", expected } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var intVal = Assert.IsType<int>(TempData["int"]); Assert.Equal(expected, intVal); }
public void SaveAndLoad_IntCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "int", 10 } }; var context = GetHttpContext(new TestSession(), true); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var intVal = Convert.ToInt32(TempData["int"]); Assert.Equal(10, intVal); }