아임포트에서 사용하는 날짜 포맷과 DateTimeOffset과의 JsonConverter.
Inheritance: Newtonsoft.Json.JsonConverter
        public void Serializes_correctly()
        {
            var sut = new DateTimeOffsetJsonConverter();
            var date = DateTimeOffset.Now;
            var actual = JsonConvert.SerializeObject(date, sut);
            Assert.Equal($"\"{date.ToString(DateTimeOffsetJsonConverter.ImportDateFormat)}\"", actual);

            date = DateTimeOffset.UtcNow;
            actual = JsonConvert.SerializeObject(date, sut);
            Assert.Equal($"\"{date.ToString(DateTimeOffsetJsonConverter.ImportDateFormat)}\"", actual);

            date = DateTimeOffset.MinValue;
            actual = JsonConvert.SerializeObject(date, sut);
            Assert.Equal($"\"{date.ToString(DateTimeOffsetJsonConverter.ImportDateFormat)}\"", actual);

            date = DateTimeOffset.MaxValue;
            actual = JsonConvert.SerializeObject(date, sut);
            Assert.Equal($"\"{date.ToString(DateTimeOffsetJsonConverter.ImportDateFormat)}\"", actual);

            var date2 = (DateTimeOffset?)DateTimeOffset.Now;
            actual = JsonConvert.SerializeObject(date2, sut);
            Assert.Equal($"\"{date2.Value.ToString(DateTimeOffsetJsonConverter.ImportDateFormat)}\"", actual);

            date2 = (DateTimeOffset?)DateTimeOffset.UtcNow;
            actual = JsonConvert.SerializeObject(date2, sut);
            Assert.Equal($"\"{date2.Value.ToString(DateTimeOffsetJsonConverter.ImportDateFormat)}\"", actual);

            date2 = (DateTimeOffset?)DateTimeOffset.MinValue;
            actual = JsonConvert.SerializeObject(date2, sut);
            Assert.Equal($"\"{date2.Value.ToString(DateTimeOffsetJsonConverter.ImportDateFormat)}\"", actual);

            date2 = (DateTimeOffset?)DateTimeOffset.MaxValue;
            actual = JsonConvert.SerializeObject(date2, sut);
            Assert.Equal($"\"{date2.Value.ToString(DateTimeOffsetJsonConverter.ImportDateFormat)}\"", actual);
        }
        public void Deserializes_correctly()
        {
            var sut = new DateTimeOffsetJsonConverter();
            var value = "\"19700101\"";
            var actual = JsonConvert.DeserializeObject<DateTimeOffset>(value, sut);
            Assert.Equal(DateTimeOffset.Parse("1970-01-01"), actual);

            value = "\"29991231\"";
            actual = JsonConvert.DeserializeObject<DateTimeOffset>(value, sut);
            Assert.Equal(DateTimeOffset.Parse("2999-12-31"), actual);

            value = "\"19700101\"";
            var actual2 = JsonConvert.DeserializeObject<DateTimeOffset?>(value, sut);
            Assert.Equal(DateTimeOffset.Parse("1970-01-01"), actual2.Value);

            value = "\"29991231\"";
            actual2 = JsonConvert.DeserializeObject<DateTimeOffset?>(value, sut);
            Assert.Equal(DateTimeOffset.Parse("2999-12-31"), actual2.Value);
        }
 public void Can_convert(Type objectType)
 {
     var sut = new DateTimeOffsetJsonConverter();
     var actual = sut.CanConvert(objectType);
     Assert.True(actual);
 }
 public void Serializes_null()
 {
     var sut = new DateTimeOffsetJsonConverter();
     var actual = JsonConvert.SerializeObject(null, sut);
     Assert.Equal("null", actual);
 }