Json.NET
Code Coverage Statistics for Source File

Newtonsoft.Json.Tests\LinqToSql\GuidByteArrayConverter.cs

Symbol Coverage: 100.00% (9 of 9)

Branch Coverage: 100.00% (4 of 4)

Cyclomatic Complexity Avg: 1.00 Max:1

Code Lines: 9


L V Source
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5

  
6
namespace Newtonsoft.Json.Tests.LinqToSql
7
{
8
  public class GuidByteArrayConverter : JsonConverter
9
  {
10
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
11
    {
12
 1
      Guid guid = (Guid) value;
13
 1
      writer.WriteValue(Convert.ToBase64String(guid.ToByteArray()));
14
 1
    }
15

  
16
    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
17
    {
18
 1
      string encodedData = (string) reader.Value;
19
 1
      byte[] data = Convert.FromBase64String(encodedData);
20
 1
      return new Guid(data);
21
 1
    }
22

  
23
    public override bool CanConvert(Type objectType)
24
    {
25
 2
      return (objectType == typeof (Guid));
26
 2
    }
27
  }
28
}