public void ET_Json_Deserialization_Ref() { var json = @"{ name : 'name', book : { id : 100, name: 'book' } }"; var deserializer = new AggtDeserializer(); var entity = deserializer.Deserialize(typeof(Favorate), json) as Favorate; Assert.AreEqual(entity.Name, "name"); Assert.IsNull(entity.BookId); Assert.IsNull(entity.Book, "一般引用属性不支持反序列化。"); }
public void ET_Json_Deserialization_Status() { var repo = RF.Concrete<FavorateRepository>(); using (RF.TransactionScope(repo)) { var f1 = new Favorate(); f1.Name = "n1"; repo.Save(f1); var f2 = new Favorate(); repo.Save(f2); var json = @"[ { ""persistenceStatus"": ""new"" }, { }, { ""id"": " + f2.Id + @", ""persistenceStatus"": ""Deleted"" }, { ""id"": " + f1.Id + @", ""name"": ""n2"" }, { ""persistenceStatus"": ""modified"" } ]"; var deserializer = new AggtDeserializer(); var list = deserializer.Deserialize(typeof(FavorateList), json) as FavorateList; Assert.AreEqual(list.Count, 5); Assert.AreEqual(list.Concrete().Count(c => c.PersistenceStatus == PersistenceStatus.New), 2); Assert.AreEqual(list.Concrete().Count(c => c.PersistenceStatus == PersistenceStatus.Deleted), 1); Assert.AreEqual(list.Concrete().Count(c => c.PersistenceStatus == PersistenceStatus.Modified), 2); } }
public void ET_Json_Deserialization_EntityList() { var json = @"[ { ""name"": ""f1"" }, { ""name"": ""f2"" } ]"; var deserializer = new AggtDeserializer(); var list = deserializer.Deserialize(typeof(FavorateList), json) as FavorateList; Assert.AreEqual(list.Count, 2); Assert.AreEqual(list[0].Name, "f1"); Assert.AreEqual(list[1].Name, "f2"); }
public void ET_Json_Deserialization_Bytes() { var json = @" { ""bytesContent"": ""dGVzdCBjb250ZW50"" } "; var deserializer = new AggtDeserializer(); var entity = deserializer.Deserialize(typeof(Favorate), json) as Favorate; Assert.IsNotNull(entity.BytesContent); Assert.AreEqual(Encoding.UTF8.GetString(entity.BytesContent), "test content"); }
public void ET_Json_Deserialization_ArrayValue() { var json = @" { arrayValue : [1, 2, 3], listValue : [""1"", ""2"", ""3""] } "; var deserializer = new AggtDeserializer(); var entity = deserializer.Deserialize(typeof(Favorate), json) as Favorate; Assert.AreEqual(entity.ArrayValue.Length, 3); Assert.AreEqual(entity.ListValue.Count, 3); }
public void ET_Json_Deserialization_Aggt() { var json = @"{ ""chapterList"": [ { ""name"": ""chapter1"" }, { ""name"": ""chapter2"", ""sectionList"": [ { ""name"": ""section"" } ] } ], ""name"": ""book"" }"; var deserializer = new AggtDeserializer(); var entity = deserializer.Deserialize(typeof(Book), json) as Book; Assert.AreEqual(entity.Name, "book"); Assert.AreEqual(entity.ChapterList.Count, 2); Assert.AreEqual(entity.ChapterList[0].Name, "chapter1"); Assert.AreEqual(entity.ChapterList[1].Name, "chapter2"); Assert.AreEqual(entity.ChapterList[1].SectionList.Count, 1); Assert.AreEqual(entity.ChapterList[1].SectionList[0].Name, "section"); }
public void ET_Json_Deserialization() { var json = @"{ name : 'name' }"; var deserializer = new AggtDeserializer(); var entity = deserializer.Deserialize(typeof(Favorate), json) as Favorate; Assert.AreEqual(entity.Name, "name"); }