/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }