public void TempData_Keep_RetainsAllKeysWhenSavingDictionary() { // Arrange var tempData = new TempDataDictionary(new DefaultHttpContext(), new NullTempDataProvider()); tempData["Foo"] = "Foo"; tempData["Bar"] = "Bar"; // Act tempData.Keep(); tempData.Save(); // Assert Assert.True(tempData.ContainsKey("Foo")); Assert.True(tempData.ContainsKey("Bar")); }
public void TempData_Save_RemovesKeysThatWereRead() { // Arrange var tempData = new TempDataDictionary(new DefaultHttpContext(), new NullTempDataProvider()); tempData["Foo"] = "Foo"; tempData["Bar"] = "Bar"; // Act var value = tempData["Foo"]; tempData.Save(); // Assert Assert.False(tempData.ContainsKey("Foo")); Assert.True(tempData.ContainsKey("Bar")); }
public void TempData_RemovalOfKeysAreCaseInsensitive() { var tempData = new TempDataDictionary(new DefaultHttpContext(), new NullTempDataProvider()); tempData["Foo"] = "Foo"; tempData["Bar"] = "Bar"; // Act tempData.TryGetValue("foo", out var fooValue); var barValue = tempData["bar"]; tempData.Save(); // Assert Assert.False(tempData.ContainsKey("Foo")); Assert.False(tempData.ContainsKey("Boo")); }
public void TempData_LoadAndSaveAreCaseInsensitive() { // Arrange var data = new Dictionary <string, object>(); data["Foo"] = "Foo"; data["Bar"] = "Bar"; var provider = new TestTempDataProvider(data); var tempData = new TempDataDictionary(new DefaultHttpContext(), provider); // Act tempData.Load(); var value = tempData["FOO"]; tempData.Save(); // Assert Assert.False(tempData.ContainsKey("foo")); Assert.True(tempData.ContainsKey("bar")); }
public void TempData_EnumeratingDictionary_MarksKeysForDeletion() { // Arrange var tempData = new TempDataDictionary(new DefaultHttpContext(), new NullTempDataProvider()); tempData["Foo"] = "Foo"; tempData["Bar"] = "Bar"; // Act var enumerator = tempData.GetEnumerator(); while (enumerator.MoveNext()) { var value = enumerator.Current; } tempData.Save(); // Assert Assert.False(tempData.ContainsKey("Foo")); Assert.False(tempData.ContainsKey("Bar")); }
public void TempData_TryGetValue_MarksKeyForDeletion() { var tempData = new TempDataDictionary(new DefaultHttpContext(), new NullTempDataProvider()); object value; tempData["Foo"] = "Foo"; // Act tempData.TryGetValue("Foo", out value); tempData.Save(); // Assert Assert.False(tempData.ContainsKey("Foo")); }
public void TempData_Peek_DoesNotMarkKeyForDeletion() { // Arrange var tempData = new TempDataDictionary(new DefaultHttpContext(), new NullTempDataProvider()); tempData["Bar"] = "barValue"; // Act var value = tempData.Peek("bar"); tempData.Save(); // Assert Assert.Equal("barValue", value); Assert.True(tempData.ContainsKey("Bar")); }