public void WriteDynamicValue_ClassWithTimeZone_SerializedClassWithTimeZoneInfo() { // Arrange var timeZone = TimeZoneInfo.CreateCustomTimeZone( "tz_id", TimeSpan.FromHours(2), "my timezone", "my timezone"); var expectedSerializedData = new[] { "\"Id\":1,\"Data\":\"1234\"", "\"Id\":\"tz_id\"", "\"DisplayName\":\"my timezone\"", "\"StandardName\":\"my timezone\"", #if NET6_0 "\"BaseUtcOffset\":\"02:00:00\"", #else "\"BaseUtcOffset\":{\"Ticks\":72000000000,\"Days\":0,\"Hours\":2,\"Milliseconds\":0,\"Minutes\":0,\"Seconds\":0", "\"TotalHours\":2,\"TotalMilliseconds\":7200000,\"TotalMinutes\":120,\"TotalSeconds\":7200},", #endif }; var data = new DataWithSerializableObject <TimeZoneInfo>(timeZone); // Act var serializedString = ToJsonString(data); // Assert Assert.All(expectedSerializedData, expectedData => Assert.Contains(expectedData, serializedString)); }
public void WriteDynamicValue_ClassWithExceptionParameter_SerializedClassWithException() { // Arrange var expectedMessage = "T est"; var expectedData = new KeyValuePair <string, string>("a", "b"); var ex = GenerateException(expectedMessage); ex.Data.Add(expectedData.Key, expectedData.Value); var data = new DataWithSerializableObject <Exception>(ex); // Act var serializedString = ToJsonString(data); var exceptionDeserialized = JsonSerializer.Deserialize <ExceptionMock>(serializedString); // Assert Assert.NotNull(exceptionDeserialized); Assert.Equal(1, exceptionDeserialized.Id); Assert.Equal("1234", exceptionDeserialized.Data); Assert.NotNull(exceptionDeserialized.Object.StackTrace); Assert.Equal(ex.StackTrace, exceptionDeserialized.Object.StackTrace); Assert.Null(exceptionDeserialized.Object.TargetSite); Assert.Equal(expectedMessage, exceptionDeserialized.Object.Message); Assert.Contains(expectedData, exceptionDeserialized.Object.Data); Assert.Null(exceptionDeserialized.Object.InnerException); Assert.Null(exceptionDeserialized.Object.HelpLink); Assert.Equal(ex.Source, exceptionDeserialized.Object.Source); Assert.Equal(ex.HResult, exceptionDeserialized.Object.HResult); }
public void WriteDynamicValue_ClassWithTypeParameter_ClassFormatted() { // Arrange var type = typeof(List <>).GetGenericArguments()[0]; var data = new DataWithSerializableObject <Type>(type); var expectedSerializedData = "{" + "\"Id\":1," + "\"Data\":\"1234\"," + "\"Object\":null" + //This type has no Full Name. "}"; // Act var serializedString = ToJsonString(data); // Assert Assert.Equal(expectedSerializedData, serializedString); }