public void ShouldSerializeDdpBinary() { DdpBinary binary = new DdpBinary { Data = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 } }; string expected = "{\"$binary\":\"ICAgICAgIA==\"}"; string result = JsonConvert.SerializeObject(binary); Assert.AreEqual(expected, result); }
public void ShouldDeserializeDdpBinary() { string ddpBinary = "{\"$binary\":\"ICAgICAgIA==\"}"; DdpBinary expected = new DdpBinary { Data = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 } }; DdpBinary result = JsonConvert.DeserializeObject <DdpBinary>(ddpBinary); Assert.AreEqual(expected.Data, result.Data); }
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(); } }