Ejemplo n.º 1
0
        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, "一般引用属性不支持反序列化。");
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 4
0
        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");
        }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
        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");
        }
Ejemplo n.º 7
0
 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");
 }