public void DoubleOverride() { ClassOverridingSingleMixinMethod com = CreateMixedObject <ClassOverridingSingleMixinMethod> (typeof(MixinOverridingClassMethod)); var comAsIAbstractMixin = com as IMixinOverridingClassMethod; Assert.That(comAsIAbstractMixin, Is.Not.Null); Assert.That(comAsIAbstractMixin.AbstractMethod(25), Is.EqualTo("ClassOverridingSingleMixinMethod.AbstractMethod-25")); Assert.That(com.OverridableMethod(13), Is.EqualTo("MixinOverridingClassMethod.OverridableMethod-13")); }
public void SerializationOfGeneratedMixinWorks() { ClassOverridingSingleMixinMethod com = CreateMixedObject <ClassOverridingSingleMixinMethod> (typeof(MixinOverridingClassMethod)); var comAsIfc = com as IMixinOverridingClassMethod; Assert.That(Mixin.Get <MixinOverridingClassMethod> (com), Is.Not.Null); Assert.That(comAsIfc, Is.Not.Null); Assert.That(comAsIfc.AbstractMethod(25), Is.EqualTo("ClassOverridingSingleMixinMethod.AbstractMethod-25")); Assert.That(com.OverridableMethod(13), Is.EqualTo("MixinOverridingClassMethod.OverridableMethod-13")); ClassOverridingSingleMixinMethod com2 = Serializer.SerializeAndDeserialize(com); var com2AsIfc = com as IMixinOverridingClassMethod; Assert.That(Mixin.Get <MixinOverridingClassMethod> (com2), Is.Not.Null); Assert.That(Mixin.Get <MixinOverridingClassMethod> (com2), Is.Not.SameAs(Mixin.Get <MixinOverridingClassMethod> (com))); Assert.That(com2AsIfc, Is.Not.Null); Assert.That(com2AsIfc.AbstractMethod(25), Is.EqualTo("ClassOverridingSingleMixinMethod.AbstractMethod-25")); Assert.That(com2.OverridableMethod(13), Is.EqualTo("MixinOverridingClassMethod.OverridableMethod-13")); }