public void AcceptsInstanceOfGeneratedMixinType_OverriddenMixinMembers() { Type generatedMixinType = CodeGenerationTypeMother.GetGeneratedMixinTypeInActiveConfiguration(typeof(ClassOverridingMixinMembers), typeof(MixinWithAbstractMembers)); object mixinInstance = Activator.CreateInstance(generatedMixinType); var classInstance = ObjectFactory.Create <ClassOverridingMixinMembers> (ParamList.Empty, mixinInstance); Assert.That(Mixin.Get <MixinWithAbstractMembers> (classInstance), Is.SameAs(mixinInstance)); }
public void AcceptsInstanceOfGeneratedMixinType_WrappedProtectedMixinMembers() { using (MixinConfiguration.BuildFromActive().ForClass <BaseType1>().Clear().AddMixins(typeof(MixinWithProtectedOverrider)).EnterScope()) { Type generatedMixinType = CodeGenerationTypeMother.GetGeneratedMixinTypeInActiveConfiguration(typeof(BaseType1), typeof(MixinWithProtectedOverrider)); object mixinInstance = Activator.CreateInstance(generatedMixinType); var bt1 = ObjectFactory.Create <BaseType1> (ParamList.Empty, mixinInstance); bt1.VirtualMethod(); Assert.That(Mixin.Get <MixinWithProtectedOverrider> (bt1), Is.SameAs(mixinInstance)); } }