Beispiel #1
0
        internal AutoGenerateContext(Faker faker, AutoConfig config)
        {
            Faker  = faker ?? new Faker(config.Locale);
            Config = config;

            TypesStack = new Stack <Type>();

            RuleSets = Enumerable.Empty <string>();
        }
Beispiel #2
0
        /// <summary>
        /// Creates a configured <see cref="IAutoFaker"/> instance.
        /// </summary>
        /// <param name="configure">A handler to build the faker configuration.</param>
        /// <returns>The configured <see cref="IAutoFaker"/> instance.</returns>
        public static IAutoFaker Create(Action <IAutoGenerateConfigBuilder> configure = null)
        {
            var config  = new AutoConfig(DefaultConfig);
            var builder = new AutoConfigBuilder(config);

            configure?.Invoke(builder);

            return(new AutoFaker(config));
        }
Beispiel #3
0
        private AutoGenerateContext CreateContext(Action <IAutoGenerateConfigBuilder> configure)
        {
            var config  = new AutoConfig(Config);
            var builder = new AutoConfigBuilder(config);

            configure?.Invoke(builder);

            return(new AutoGenerateContext(config));
        }
Beispiel #4
0
 internal AutoConfig(AutoConfig config)
 {
     Locale         = config.Locale;
     RepeatCount    = config.RepeatCount;
     RecursiveDepth = config.RecursiveDepth;
     Binder         = config.Binder;
     FakerHub       = config.FakerHub;
     Skips          = config.Skips.ToList();
     Overrides      = config.Overrides.ToList();
 }
Beispiel #5
0
        /// <summary>
        /// Configures the current faker instance.
        /// </summary>
        /// <param name="configure">A handler to build the faker configuration.</param>
        /// <returns>The current faker instance.</returns>
        public AutoFaker <TType> Configure(Action <IAutoGenerateConfigBuilder> configure)
        {
            var config  = new AutoConfig(AutoFaker.DefaultConfig);
            var builder = new AutoConfigBuilder(config);

            configure?.Invoke(builder);

            Config = config;

            return(this);
        }
Beispiel #6
0
 internal AutoConfig(AutoConfig config)
 {
     Locale            = config.Locale;
     RepeatCount       = config.RepeatCount;
     DataTableRowCount = config.DataTableRowCount;
     RecursiveDepth    = config.RecursiveDepth;
     TreeDepth         = config.TreeDepth;
     Binder            = config.Binder;
     FakerHub          = config.FakerHub;
     SkipTypes         = config.SkipTypes.ToList();
     SkipPaths         = config.SkipPaths.ToList();
     Overrides         = config.Overrides.ToList();
 }
Beispiel #7
0
        private AutoFaker <TType> CreateFaker <TType, TFaker>(Action <IAutoFakerConfigBuilder> configure)
            where TType : class
            where TFaker : AutoFaker <TType>
        {
            // Invoke the config builder
            var config  = new AutoConfig(Config);
            var builder = new AutoConfigBuilder(config);

            configure?.Invoke(builder);

            // Dynamically create the faker instance
            var type  = typeof(TFaker);
            var faker = (AutoFaker <TType>)Activator.CreateInstance(type, builder.Args);

            faker.Config = builder.Config;

            return(faker);
        }
Beispiel #8
0
        private AutoGenerateContext CreateContext(string ruleSets)
        {
            var config = new AutoConfig(_config ?? AutoFaker.DefaultConfig);

            if (!string.IsNullOrWhiteSpace(Locale))
            {
                config.Locale = Locale;
            }

            if (Binder != null)
            {
                config.Binder = Binder;
            }

            return(new AutoGenerateContext(FakerHub, config)
            {
                RuleSets = ParseRuleSets(ruleSets)
            });
        }
 internal AutoGenerateContext(AutoConfig config)
     : this(config.FakerHub, config)
 {
 }
Beispiel #10
0
 internal AutoConfigBuilder(AutoConfig config)
 {
     Config = config;
 }
Beispiel #11
0
 internal AutoGenerateContext(AutoConfig config)
     : this(null, config)
 {
 }
Beispiel #12
0
 private AutoFaker(AutoConfig config)
 {
     Config = config;
 }