/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Mvc/Mvc.ViewFeatures/test/Infrastructure/TempDataSerializerTestBase.cs
354 строки
10 KB
Shreyas Jejurkar
chore : Remove unwanted `using` statement (#39176)
02 янв 2022, 17:39
Не верифицирован
02 янв 2022, 17:39
c85baf8
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Globalization; namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Infrastructure; public abstract class TempDataSerializerTestBase { [Fact] public void DeserializeTempData_ReturnsEmptyDictionary_DataIsEmpty() { // Arrange var serializer = GetTempDataSerializer(); // Act var tempDataDictionary = serializer.Deserialize(new byte[0]); // Assert Assert.NotNull(tempDataDictionary); Assert.Empty(tempDataDictionary); } [Fact] public void RoundTripTest_NullValue() { // Arrange var key = "NullKey"; var testProvider = GetTempDataSerializer(); var input = new Dictionary<string, object> { { key, null } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert Assert.True(values.ContainsKey(key)); Assert.Null(values[key]); } [Theory] [InlineData(-10)] [InlineData(3340)] [InlineData(int.MaxValue)] [InlineData(int.MinValue)] public void RoundTripTest_IntValue(int value) { // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var input = new Dictionary<string, object> { { key, value }, }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<int>(values[key]); Assert.Equal(value, roundTripValue); } [Theory] [InlineData(null)] [InlineData(10)] public void RoundTripTest_NullableInt(int? value) { // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var input = new Dictionary<string, object> { { key, value }, }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = (int?)values[key]; Assert.Equal(value, roundTripValue); } [Fact] public void RoundTripTest_StringValue() { // Arrange var key = "test-key"; var value = "test-value"; var testProvider = GetTempDataSerializer(); var input = new Dictionary<string, object> { { key, value }, }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<string>(values[key]); Assert.Equal(value, roundTripValue); } [Fact] public void RoundTripTest_Enum() { // Arrange var key = "test-key"; var value = DayOfWeek.Friday; var testProvider = GetTempDataSerializer(); var input = new Dictionary<string, object> { { key, value }, }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = (DayOfWeek)values[key]; Assert.Equal(value, roundTripValue); } [Fact] public void RoundTripTest_DateTimeValue() { // Arrange var key = "test-key"; var value = new DateTime(2009, 1, 1, 12, 37, 43); var testProvider = GetTempDataSerializer(); var input = new Dictionary<string, object> { { key, value }, }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<DateTime>(values[key]); Assert.Equal(value, roundTripValue); } [Fact] public void RoundTripTest_GuidValue() { // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var value = Guid.NewGuid(); var input = new Dictionary<string, object> { { key, value } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<Guid>(values[key]); Assert.Equal(value, roundTripValue); } [Fact] public virtual void RoundTripTest_DateTimeToString() { // Documents the behavior of round-tripping a DateTime value as a string // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var value = new DateTime(2009, 1, 1, 12, 37, 43); var input = new Dictionary<string, object> { { key, value.ToString(CultureInfo.InvariantCulture) } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<string>(values[key]); Assert.Equal(value.ToString(CultureInfo.InvariantCulture), roundTripValue); } [Fact] public virtual void RoundTripTest_StringThatIsNotCompliantGuid() { // Documents the behavior of round-tripping a Guid with a non-default format specifier // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var value = Guid.NewGuid(); var input = new Dictionary<string, object> { { key, value.ToString("N") } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<string>(values[key]); Assert.Equal(value.ToString("N"), roundTripValue); } [Fact] public virtual void RoundTripTest_GuidToString() { // Documents the behavior of round-tripping a Guid value as a string // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var value = Guid.NewGuid(); var input = new Dictionary<string, object> { { key, value.ToString() } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<Guid>(values[key]); Assert.Equal(value, roundTripValue); } [Fact] public void RoundTripTest_CollectionOfInts() { // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var value = new[] { 1, 2, 4, 3 }; var input = new Dictionary<string, object> { { key, value } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<int[]>(values[key]); Assert.Equal(value, roundTripValue); } [Fact] public void RoundTripTest_ArrayOfStringss() { // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var value = new[] { "Hello", "world" }; var input = new Dictionary<string, object> { { key, value } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<string[]>(values[key]); Assert.Equal(value, roundTripValue); } [Fact] public void RoundTripTest_ListOfStringss() { // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var value = new List<string> { "Hello", "world" }; var input = new Dictionary<string, object> { { key, value } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<string[]>(values[key]); Assert.Equal(value, roundTripValue); } [Fact] public void RoundTripTest_DictionaryOfString() { // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var value = new Dictionary<string, string> { { "Key1", "Value1" }, { "Key2", "Value2" }, }; var input = new Dictionary<string, object> { { key, value } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<Dictionary<string, string>>(values[key]); Assert.Equal(value, roundTripValue); } [Fact] public virtual void RoundTripTest_DictionaryOfInt() { // Arrange var key = "test-key"; var testProvider = GetTempDataSerializer(); var value = new Dictionary<string, int> { { "Key1", 7 }, { "Key2", 24 }, }; var input = new Dictionary<string, object> { { key, value } }; // Act var bytes = testProvider.Serialize(input); var values = testProvider.Deserialize(bytes); // Assert var roundTripValue = Assert.IsType<Dictionary<string, int>>(values[key]); Assert.Equal(value, roundTripValue); } protected abstract TempDataSerializer GetTempDataSerializer(); }