using System.Collections.Generic;
public static void Main(string[] args)
var sanity = new SanityChecks();
var actionList = new List<Action>() { sanity.SanityCheck_CanDeserialize,sanity.SanityCheck_CanSerialize,sanity.SanityCheck_CanDeserializeFromSerialized};
foreach (var action in actionList)
Console.WriteLine("Test Started");
Console.WriteLine("Test Passed");
Console.WriteLine("Failed Test");
Console.WriteLine("\n\n");
public class SanityChecks
internal Dictionary<int,string> _prvList = new Dictionary<int, string>();
public IEnumerable<string> ListValues
get { return _prvList.Select(p=> p.Value).ToList();}
var valArr = value.ToArray();
for (var x = 0; x < valArr.Length; x++)
_prvList.Add(x,valArr[x]);
public void SanityCheck_CanDeserialize()
var assumption = "{\"ListValues\":[\"TestValue\",\"AAA\"]}";
var actual = JsonConvert.DeserializeObject<TestClass>(assumption);
Assert.Equal(2, actual._prvList.Count());
Assert.Equal(2, actual.ListValues.Count());
public void SanityCheck_CanSerialize()
var assumption = new TestClass() { ListValues = new[] { "TestValue", "AAA" } };
var actualSerialized = JsonConvert.SerializeObject(assumption);
Console.WriteLine(actualSerialized);
Assert.Equal("{\"ListValues\":[\"TestValue\",\"AAA\"]}", actualSerialized);
public void SanityCheck_CanDeserializeFromSerialized()
var assumption = new TestClass() { ListValues = new[] { "TestValue", "AAA" } };
var actualSerialized = JsonConvert.SerializeObject(assumption);
Console.WriteLine(actualSerialized);
var actualDeserialized = JsonConvert.DeserializeObject<TestClass>(actualSerialized);
Assert.Equal(2, actualDeserialized._prvList.Count());
var actualDeserializedSerialized = JsonConvert.SerializeObject(actualDeserialized);
Console.WriteLine(actualDeserializedSerialized);
Assert.Equal(actualSerialized, actualDeserializedSerialized);