Ejemplo n.º 1
0
        public void SerializeAndDeserialize_CircleLinks()
        {
            SValue hash = SValue.NewHash();

            hash["field0"] = SValue.NewString("value");
            hash["field1"] = SValue.NewInt(10);
            hash["field2"] = hash;

            SValue list = SValue.NewList();

            list.Add(SValue.NewInt(1));
            list.Add(SValue.NewString("value2"));
            list.Add(hash);

            hash["field3"] = list;

            SValue unserialized = SValue.Unserialize(SValue.Serialize(list));

            Assert.AreEqual("[1, 'value2', {'field0': 'value', 'field1': 10, 'field2': …, 'field3': …}]", unserialized.ToString());
            Assert.AreEqual(unserialized[2], unserialized[2]["field2"]);
            Assert.AreEqual(unserialized, unserialized[2]["field3"]);
            Assert.AreNotEqual(unserialized, unserialized[2]["field2"]);
        }