public void CheckMixinArray_NonMatchingMixins_NeedDerived()
        {
            Type concreteMixinType = CodeGenerationTypeMother.GetGeneratedMixinType(typeof(ClassOverridingSpecificMixinMember), typeof(MixinWithVirtualMethod));

            MixinArrayInitializer initializer = CreateInitializer(typeof(ClassOverridingSpecificMixinMember), concreteMixinType);

            initializer.CheckMixinArray(new object[] { new MixinWithVirtualMethod() });
        }
        public void CheckMixinArray_WrongNumberOfMixins()
        {
            MixinArrayInitializer initializer = CreateInitializer(typeof(NullTarget), typeof(NullMixin));

            initializer.CheckMixinArray(new object[0]);
        }
        public void CheckMixinArray_NonMatchingMixins_InvalidOrder()
        {
            MixinArrayInitializer initializer = CreateInitializer(typeof(NullTarget), typeof(NullMixin), typeof(NullMixin2));

            initializer.CheckMixinArray(new object[] { new NullMixin2(), new NullMixin() });
        }
        public void CheckMixinArray_MatchingMixins()
        {
            MixinArrayInitializer initializer = CreateInitializer(typeof(NullTarget), typeof(NullMixin));

            initializer.CheckMixinArray(new object[] { new NullMixin() });
        }