Esempio n. 1
0
        public void TestCreateFromObjectWithCircularRefs()
        {
            json_ParentClass obj1 = new json_ParentClass();
            json_ParentClass obj2 = new json_ParentClass();
            json_ParentClass obj3 = new json_ParentClass();

            obj1.Id = "A";
            obj2.Id = "B";
            obj3.Id = "C";

            obj1.Children = new []
            {
                new json_ChildClass
                {
                    Id     = "A1",
                    Parent = obj1,
                    Others = new [] { obj1, obj2, obj3 }
                }
            };

            var json = new JsonObject(obj1);

            Assert.That(json["Id"].Value, Is.EqualTo("A"));
            Assert.That(json["Children"][0]["Id"].Value, Is.EqualTo("A1"));
            Assert.That(json["Children"][0]["Parent"].IsNull);    // circular reference

            Assert.That(json["Children"][0]["Others"][0].IsNull); // circular reference
            Assert.That(json["Children"][0]["Others"][1].IsObject);
            Assert.That(json["Children"][0]["Others"][2].IsObject);
        }
Esempio n. 2
0
        public void TestCircularReferences()
        {
            json_ParentClass obj1 = new json_ParentClass();
            json_ParentClass obj2 = new json_ParentClass();

            obj1.Id = "A";
            obj2.Id = "B";

            obj1.Children = new List <json_ChildClass>()
            {
                new json_ChildClass
                {
                    Id     = "A1",
                    Parent = obj1,
                    Others = new List <json_ParentClass>()
                    {
                        obj1, obj2
                    }
                }
            };

            string json = JsonSerializer.ToJson(obj1);

            Assert.AreEqual("{\"Id\":\"A\",\"Children\":[{\"Id\":\"A1\",\"Parent\":null,\"Others\":[null,{\"Id\":\"B\",\"Children\":null}]}]}", json);
        }
Esempio n. 3
0
        public void TestCircularReferences()
        {
            json_ParentClass obj1 = new json_ParentClass();
            json_ParentClass obj2 = new json_ParentClass();

            obj1.Id = "A";
            obj2.Id = "B";

            obj1.Children = new List<json_ChildClass>()
                                  {
                                      new json_ChildClass
                                          {
                                              Id = "A1",
                                              Parent = obj1,
                                              Others = new List<json_ParentClass>() { obj1,obj2 }
                                          }
                                  };

            string json = JsonSerializer.ToJson(obj1);

            Assert.AreEqual("{\"Id\":\"A\",\"Children\":[{\"Id\":\"A1\",\"Parent\":null,\"Others\":[null,{\"Id\":\"B\",\"Children\":null}]}]}",json);
        }