public void Initialization_BaseMembersSerialized_CallsNoCtor() { CallGetObjectDataForGeneratedTypes(true); var helper = new MixinSerializationHelper(_serializationInfo, _context); var deserializedObject = (FakeConcreteMixinType)helper.GetRealObject(_context); Assert.That(deserializedObject.CtorCalled, Is.False); }
public void Initialization_SignalsOnDeserializing() { CallGetObjectDataForGeneratedTypes(true); var helper = new MixinSerializationHelper(_serializationInfo, _context); var deserializedObject = (FakeConcreteMixinType)helper.GetRealObject(_context); Assert.That(deserializedObject.OnDeserializingCalled, Is.True); }
public void GetRealObject_ReturnsConcreteMixinTypeInstance() { CallGetObjectDataForGeneratedTypes(true); var helper = new MixinSerializationHelper(_serializationInfo, _context); var realObject = helper.GetRealObject(_context); Assert.That(realObject.GetType(), Is.SameAs(_pipeline.ReflectionService.GetAdditionalType(_identifier))); }
public void OnDeserialization_RestoresBaseMembers_NotWhenNoBaseMembers() { _concreteMixin.I = 4711; CallGetObjectDataForGeneratedTypes(false); var helper = new MixinSerializationHelper(_serializationInfo, _context); var deserializedObject = (MixinWithAbstractMembers)helper.GetRealObject(_context); Assert.That(deserializedObject.I, Is.EqualTo(0)); helper.OnDeserialization(null); Assert.That(deserializedObject.I, Is.EqualTo(0)); }
public void OnDeserialization_RaisesEvents() { CallGetObjectDataForGeneratedTypes(true); var helper = new MixinSerializationHelper(_serializationInfo, _context); var deserializedObject = (FakeConcreteMixinType)helper.GetRealObject(_context); Assert.That(deserializedObject.OnDeserializedCalled, Is.False); Assert.That(deserializedObject.OnDeserializationCalled, Is.False); helper.OnDeserialization(null); Assert.That(deserializedObject.OnDeserializedCalled, Is.True); Assert.That(deserializedObject.OnDeserializationCalled, Is.True); }
private void CallGetObjectDataForGeneratedTypes(bool serializeBaseMembers) { MixinSerializationHelper.GetObjectDataForGeneratedTypes( _serializationInfo, _context, _concreteMixin, _identifier, serializeBaseMembers, _pipeline.ParticipantConfigurationID); }