Exemplo n.º 1
0
        public void Serialization_LocalTime_ConvertsToUtc()
        {
            Skip.If(TimeZoneInfo.Local.BaseUtcOffset == TimeSpan.Zero,
                    "Cannot test local time conversion from a system in UTC time zone");

            // Arrange

            var localTime = DateTime.Now;

            Assert.Equal(DateTimeKind.Local, localTime.Kind);

            var obj = new NonNullablePoco
            {
                Value = localTime
            };

            // Act

            var json = JsonConvert.SerializeObject(obj);
            var obj2 = JsonConvert.DeserializeObject <NonNullablePoco>(json);

            // Assert

            Assert.Equal(DateTimeKind.Utc, obj2.Value.Kind);

            // There will a slight submillisecond difference due to rounding
            // so for the test just make sure the difference is less than half a millisecond
            Assert.Equal(0,
                         Math.Round((localTime - obj2.Value.ToLocalTime()).TotalMilliseconds, MidpointRounding.AwayFromZero));
        }
Exemplo n.º 2
0
        public void Serialization_NonNullable_Serializes()
        {
            // Arrange

            var obj = new NonNullablePoco
            {
                Value = TestTime
            };

            // Act

            var json = JsonConvert.SerializeObject(obj);

            // Assert

            var expected = $@"{{""value"":{TestUnixMilliseconds}}}";

            Assert.Equal(expected, json);
        }