public void ShouldSerializeDdpDate() { DdpDate date = new DdpDate { DateTime = new DateTime(2015, 11, 17, 14, 26, 30) }; string expected = "{\"$date\":1447770390000}"; string result = JsonConvert.SerializeObject(date); Assert.AreEqual(expected, result); }
public void ShouldDeserializeDdpDate() { string ddpDate = "{\"$date\":1447770390000}"; DdpDate expected = new DdpDate { DateTime = new DateTime(2015, 11, 17, 14, 26, 30) }; DdpDate result = JsonConvert.DeserializeObject <DdpDate>(ddpDate); Assert.AreEqual(expected.DateTime, result.DateTime); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value is DdpBinary) { DdpBinary ddpBinary = (DdpBinary)value; writer.WriteStartObject(); writer.WritePropertyName("$binary"); writer.WriteValue(DdpUtil.GetBase64FromBytes(ddpBinary.Data)); writer.WriteEndObject(); return; } if (value is DdpDate) { DdpDate ddpDate = (DdpDate)value; writer.WriteStartObject(); writer.WritePropertyName("$date"); writer.WriteValue(DdpUtil.DateTimeToMilliseconds(ddpDate.DateTime)); writer.WriteEndObject(); } }