Created
September 25, 2014 04:58
-
-
Save jincod/631db6eb897fcf66ecd3 to your computer and use it in GitHub Desktop.
Test Serialize and Deserialize
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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