using System; using System.Collections.Generic; using System.Linq; using System.Text; using Topten.JsonKit; using System.Collections; using Xunit; namespace TestCases { public class TestConcreteFromInterface { [Fact] public void TestGenericList() { var l = new List<int>() { 10, 20, 30 }; var json = Json.Format(l); var l2 = Json.Parse<IList<int>>(json); Assert.IsType<List<int>>(l2); Assert.Equal(l, l2); } [Fact] public void TestGenericDictionary() { var l = new Dictionary<string,int>() { {"A", 10}, {"B", 20}, {"C", 30} }; var json = Json.Format(l); var l2 = Json.Parse<IDictionary<string,int>>(json); Assert.IsType<Dictionary<string,int>>(l2); Assert.Equal(l, l2); } [Fact] public void TestObjectList() { var l = new List<int>() { 10, 20, 30 }; var json = Json.Format(l); var l2 = Json.Parse<IList>(json); Assert.IsType<List<object>>(l2); Assert.Equal(l.Count, l2.Count); } [Fact] public void TestObjectDictionary() { var l = new Dictionary<string, int>() { {"A", 10}, {"B", 20}, {"C", 30} }; var json = Json.Format(l); var l2 = Json.Parse<IDictionary>(json); Assert.IsType<Dictionary<string,object>>(l2); Assert.Equal(l.Count, l2.Count); } } }