Skip to content

Instantly share code, notes, and snippets.

@jincod
Created September 25, 2014 04:58
Show Gist options
  • Save jincod/631db6eb897fcf66ecd3 to your computer and use it in GitHub Desktop.
Save jincod/631db6eb897fcf66ecd3 to your computer and use it in GitHub Desktop.
Test Serialize and Deserialize
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
using Newtonsoft.Json;
namespace Web.Test
{
public class Class1
{
public Class1(string name, IEnumerable<string> names, IEnumerable<Class2> classes)
{
Name = name;
Names = names;
Classes = classes;
}
public string Name { get; set; }
public IEnumerable<string> Names { get; set; }
public IEnumerable<Class2> Classes { get; set; }
}
public class Class2
{
public Class2(string name, int id)
{
Name = name;
Id = id;
}
public string Name { get; set; }
public int Id { get; set; }
}
[TestFixture]
public class TestClass
{
private const string Name = "name1";
[Test]
public void Test1()
{
string serializeObject =
JsonConvert.SerializeObject(new Class1(Name, new[] {"name1", "name2"},
new List<Class2> {new Class2("name2", 1), new Class2("name2", 2)}));
var deserializeObject = JsonConvert.DeserializeObject<Class1>(serializeObject);
Assert.AreEqual(Name, deserializeObject.Name);
Assert.AreEqual(2, deserializeObject.Names.Count());
Assert.AreEqual(2, deserializeObject.Classes.Count());
Assert.IsTrue(deserializeObject.Classes.Any(c => c.Name == "name2"));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment