Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-1675

ObjectSerializer ignores registered DateTime serializer on deserializing

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Minor - P4 Minor - P4
    • None
    • None
    • Serialization
    • None

    Description

      Test to reproduce:
      -register DateTimeSerializer with local Kind
      -Serialize DateTime (local Kind) as object
      -Deserialize it.

              public class ObjectClass
              {
                  public object Value { get; set; }
              }
       
              [SetUp]
              public void Register()
              {
                  var serializer = new Bson.Serialization.Serializers.DateTimeSerializer(DateTimeKind.Local);
                  BsonSerializer.RegisterSerializer(typeof(DateTime), serializer);
              }
       
              [Test]
              public void RegisterTest()
              {
       
                  var dt = new DateTime(2016, 1, 1, 0, 0, 0, DateTimeKind.Local);
                  var o = new ObjectClass { Value = dt };
       
                  var serilized = o.ToJson();
                  var restored = BsonSerializer.Deserialize<ObjectClass>(serilized);
       
                  Assert.AreEqual(dt, restored.Value);
                  Assert.AreEqual(dt.Kind, ((DateTime)restored.Value).Kind);
              }
      

      Attachments

        Activity

          People

            boris.dogadov@mongodb.com Boris Dogadov
            mcsimkin Maksim Simkin
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: