Beispiel #1
0
    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));
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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);
    }