public void CloneInParallel() { ObjectCloner.ClearTypeCache(); // empty the Type cache to start from a fresh state. for (int i = 0; i < 100; i++) { Parallel.For(0, 1000, k => { var instance = new ClassWithIEnumerable <int> { Items = new List <int> { 1, 1, 2, 3 }.Distinct() }; var clonedValue = Duplicate(instance); Assert.Equal(instance.Items.Count(), clonedValue.Items.Count()); Assert.Equal(instance.Items.ToList(), clonedValue.Items.ToList()); }); } }
public void SerializeInParallel() { Serializer.ClearTypeSerializersCache(); // empty the serialization Type to TypeData dictionary to start from a fresh state. Deserializer.ClearTypeDeserializersCache(); // empty the serialization Type to TypeData dictionary to start from a fresh state. for (int i = 0; i < 100; i++) { Parallel.For(0, 1000, k => { var instance = new ClassWithIEnumerable <int> { Items = new List <int> { 1, 1, 2, 3 }.Distinct() }; var bytes = Serializer.Serialize(instance); var deserializedValue = Deserializer.Deserialize <ClassWithIEnumerable <int> >(bytes); Assert.Equal(instance.Items.Count(), deserializedValue.Items.Count()); Assert.Equal(instance.Items.ToList(), deserializedValue.Items.ToList()); }); } }