Пример #1
0
        /// <summary>
        /// Registers a binder type to use when generating values.
        /// </summary>
        /// <typeparam name="TBinder">The <see cref="IAutoBinder"/> type to use.</typeparam>
        /// <param name="builder">The current configuration builder instance.</param>
        /// <returns>The current configuration builder instance.</returns>
        public static IAutoFakerConfigBuilder WithBinder <TBinder>(this IAutoFakerConfigBuilder builder)
            where TBinder : IAutoBinder, new()
        {
            var binder = new TBinder();

            return(builder?.WithBinder(binder));
        }
Пример #2
0
        /// <summary>
        /// Registers an override instance to use when generating values.
        /// </summary>
        /// <typeparam name="TType">The type of instance to override.</typeparam>
        /// <typeparam name="TValue">The member type to override.</typeparam>
        /// <param name="builder">The current configuration builder instance.</param>
        /// <param name="member">The member to override.</param>
        /// <param name="generator">A handler used to generate the override.</param>
        /// <returns>The current configuration builder instance.</returns>
        public static IAutoFakerConfigBuilder WithOverride <TType, TValue>(this IAutoFakerConfigBuilder builder, Expression <Func <TType, object> > member, Func <AutoGenerateOverrideContext, TValue> generator)
        {
            var memberName        = GetMemberName(member);
            var generatorOverride = new AutoGeneratorMemberOverride <TType, TValue>(memberName, generator);

            return(builder?.WithOverride(generatorOverride));
        }
        /// <summary>
        /// Registers the conventions overrides.
        /// </summary>
        /// <param name="builder">The current configuration builder instance.</param>
        /// <param name="configure">A handler for configuring the conventions.</param>
        /// <returns>The current configuration builder instance.</returns>
        public static IAutoFakerConfigBuilder WithConventions(this IAutoFakerConfigBuilder builder, Action <AutoConventionConfig> configure = null)
        {
            var conventions = CreateConventionsOverride(configure);

            return(builder?.WithOverride(conventions));
        }
Пример #4
0
        /// <summary>
        /// Registers an override instance to use when generating values.
        /// </summary>
        /// <typeparam name="TType">The type of instance to override.</typeparam>
        /// <param name="builder">The current configuration builder instance.</param>
        /// <param name="generator">A handler used to generate the override.</param>
        /// <returns>The current configuration builder instance.</returns>
        public static IAutoFakerConfigBuilder WithOverride <TType>(this IAutoFakerConfigBuilder builder, Func <AutoGenerateOverrideContext, TType> generator)
        {
            var generatorOverride = new AutoGeneratorTypeOverride <TType>(generator);

            return(builder?.WithOverride(generatorOverride));
        }
Пример #5
0
        /// <summary>
        /// Registers a type to skip when generating values.
        /// </summary>
        /// <typeparam name="TType">The type to skip.</typeparam>
        /// <param name="builder">The current configuration builder instance.</param>
        /// <returns>The current configuration builder instance.</returns>
        public static IAutoFakerConfigBuilder WithSkip <TType>(this IAutoFakerConfigBuilder builder)
        {
            var type = typeof(TType);

            return(builder?.WithSkip(type));
        }
Пример #6
0
        /// <summary>
        /// Registers a member to skip for a given type when generating values.
        /// </summary>
        /// <typeparam name="TType">The parent type containing the member.</typeparam>
        /// <param name="builder">The current configuration builder instance.</param>
        /// <param name="member">The member to skip.</param>
        /// <returns>The current configuration builder instance.</returns>
        public static IAutoFakerConfigBuilder WithSkip <TType>(this IAutoFakerConfigBuilder builder, Expression <Func <TType, object> > member)
        {
            var memberName = GetMemberName(member);

            return(builder?.WithSkip <TType>(memberName));
        }