Example #1
0
        internal static MockCreationSettings GetSettings(object[] constructorArgs, Behavior?behavior,
                                                         Type[] additionalMockedInterfaces, bool?mockConstructorCall, IEnumerable <CustomAttributeBuilder> additionalProxyTypeAttributes = null,
                                                         List <IBehavior> supplementaryBehaviors = null, List <IBehavior> fallbackBehaviors = null, List <object> mixins = null, Expression <Predicate <MethodInfo> > interceptorFilter = null)
        {
            if (behavior == null)
            {
                behavior = DefaultBehavior;
            }

            MockCreationSettings settings = MockCreationSettings.DissectBehavior(behavior.Value, constructorArgs, mockConstructorCall);

            settings.AdditionalMockedInterfaces    = additionalMockedInterfaces;
            settings.AdditionalProxyTypeAttributes = additionalProxyTypeAttributes;
            settings.InterceptorFilter             = interceptorFilter;

            if (supplementaryBehaviors != null)
            {
                settings.SupplementaryBehaviors = new List <IBehavior>(settings.SupplementaryBehaviors.Concat(supplementaryBehaviors));
            }

            if (fallbackBehaviors != null)
            {
                settings.FallbackBehaviors = new List <IBehavior>(settings.FallbackBehaviors.Concat(fallbackBehaviors));
            }

            if (mixins != null)
            {
                settings.Mixins = new List <object>(settings.Mixins.Concat(mixins));
            }

            return(settings);
        }
Example #2
0
        /// <summary>
        /// Creates instance <see cref="MockCreationSettings"/> for the specified behavior.
        /// </summary>
        /// <param name="behavior">Behavior for which to create the settings</param>
        /// <returns><see cref="MockCreationSettings"/> instance</returns>
        internal static MockCreationSettings GetSettings(Behavior behavior)
        {
            MockCreationSettings settings = MockCreationSettings.DissectBehavior(behavior, constructorArgs: null, mockConstructorCall: null);

            return(settings);
        }