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
Symbol Coverage Trend
View:
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 |
} |