public void CreateMixinWithMockedTarget_AbstractMixin() { var thisMock = new ClassOverridingMixinMembers(); var baseMock = new object(); MixinTargetMockUtility.CreateMixinWithMockedTarget <MixinWithAbstractMembers, object, object> (thisMock, baseMock); }
public void ThrowsIfAbstractMixinTypeNotSerializable() { ClassOverridingMixinMembers targetInstance = CreateMixedObject <ClassOverridingMixinMembers> (typeof(NotSerializableMixin)); Serializer.SerializeAndDeserialize(targetInstance); }
public void OverrideMixinEvent() { ClassOverridingMixinMembers com = CreateMixedObject <ClassOverridingMixinMembers> (typeof(MixinWithAbstractMembers)); var comAsIAbstractMixin = com as IMixinWithAbstractMembers; Assert.That(comAsIAbstractMixin, Is.Not.Null); Assert.That(comAsIAbstractMixin.ImplementedEvent(), Is.EqualTo("MixinWithAbstractMembers.ImplementedEvent")); }
public void GeneratedTypeIsSerializable() { ClassOverridingMixinMembers targetInstance = CreateMixedObject <ClassOverridingMixinMembers> (typeof(MixinWithAbstractMembers)); var mixin = Mixin.Get <MixinWithAbstractMembers> (targetInstance); Assert.That(mixin.GetType().IsSerializable, Is.True); Serializer.Serialize(targetInstance); }
public void GeneratedTypeIsDeserializable() { ClassOverridingMixinMembers targetInstance = CreateMixedObject <ClassOverridingMixinMembers> (typeof(MixinWithAbstractMembers)); var mixin = Mixin.Get <MixinWithAbstractMembers> (targetInstance); mixin.I = 13; MixinWithAbstractMembers mixinA = Serializer.SerializeAndDeserialize(mixin); Assert.That(mixinA.I, Is.EqualTo(mixin.I)); Assert.That(mixinA, Is.Not.SameAs(mixin)); }
public void RespectsISerializable() { ClassOverridingMixinMembers targetInstance = CreateMixedObject <ClassOverridingMixinMembers> (typeof(AbstractMixinImplementingISerializable)); var mixin = Mixin.Get <AbstractMixinImplementingISerializable> (targetInstance); mixin.I = 15; Assert.That(mixin.I, Is.EqualTo(15)); AbstractMixinImplementingISerializable mixinA = Serializer.SerializeAndDeserialize(mixin); Assert.That(mixinA.I, Is.EqualTo(32)); }
public void GeneratedTypeCorrectlySerializesThisAndBase() { ClassOverridingMixinMembers targetInstance = CreateMixedObject <ClassOverridingMixinMembers> (typeof(MixinWithAbstractMembers)); var mixin = Mixin.Get <MixinWithAbstractMembers> (targetInstance); Assert.That(MixinReflector.GetTargetProperty(mixin.GetType()).GetValue(mixin, null), Is.EqualTo(targetInstance)); Assert.That(MixinReflector.GetNextProperty(mixin.GetType()).GetValue(mixin, null).GetType(), Is.EqualTo(MixinReflector.GetNextCallProxyType(targetInstance))); ClassOverridingMixinMembers targetInstanceA = Serializer.SerializeAndDeserialize(targetInstance); var mixinA = Mixin.Get <MixinWithAbstractMembers> (targetInstanceA); Assert.That(MixinReflector.GetTargetProperty(mixinA.GetType()).GetValue(mixinA, null), Is.EqualTo(targetInstanceA)); Assert.That(MixinReflector.GetNextProperty(mixinA.GetType()).GetValue(mixinA, null).GetType(), Is.EqualTo(MixinReflector.GetNextCallProxyType(targetInstanceA))); }