Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 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();
     }
 }