Пример #1
0
        public async Task DictionaryLoop()
        {
            DictionaryWithGenericCycle root = new DictionaryWithGenericCycle();

            root["Self"]  = root;
            root["Other"] = new DictionaryWithGenericCycle();

            string expected = JsonConvert.SerializeObject(root, s_newtonsoftSerializerSettingsPreserve);
            string actual   = await JsonSerializerWrapperForString.SerializeWrapper(root, s_serializerOptionsPreserve);

            Assert.Equal(expected, actual);

            DictionaryWithGenericCycle rootCopy = await JsonSerializerWrapperForString.DeserializeWrapper <DictionaryWithGenericCycle>(actual, s_serializerOptionsPreserve);

            Assert.Same(rootCopy, rootCopy["Self"]);
        }
Пример #2
0
        public static void DictionaryLoop()
        {
            DictionaryWithGenericCycle root = new DictionaryWithGenericCycle();

            root["Self"]  = root;
            root["Other"] = new DictionaryWithGenericCycle();

            string expected = JsonConvert.SerializeObject(root, s_newtonsoftSerializerSettingsPreserve);
            string actual   = JsonSerializer.Serialize(root, s_serializerOptionsPreserve);

            Assert.Equal(expected, actual);

            DictionaryWithGenericCycle rootCopy = JsonSerializer.Deserialize <DictionaryWithGenericCycle>(actual, s_serializerOptionsPreserve);

            Assert.Same(rootCopy, rootCopy["Self"]);
        }
Пример #3
0
        public async Task DictionaryPreserveDuplicateDictionaries()
        {
            DictionaryWithGenericCycle root = new DictionaryWithGenericCycle();

            root["Self1"] = root;
            root["Self2"] = root;

            string expected = JsonConvert.SerializeObject(root, s_newtonsoftSerializerSettingsPreserve);
            string actual   = await Serializer.SerializeWrapper(root, s_serializerOptionsPreserve);

            Assert.Equal(expected, actual);

            DictionaryWithGenericCycle rootCopy = await Serializer.DeserializeWrapper <DictionaryWithGenericCycle>(actual, s_serializerOptionsPreserve);

            Assert.Same(rootCopy, rootCopy["Self1"]);
            Assert.Same(rootCopy, rootCopy["Self2"]);
        }