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