ObjectSerializer ignores registered DateTime serializer on deserializing

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: Serialization
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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);
              }
      

            Assignee:
            Boris Dogadov
            Reporter:
            Maksim Simkin
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: