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"]); }
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"]); }
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"]); }