public RandomizerMACAddress(FieldOptionsMACAddress options) : base(options)
        {
            byte[] octetsMin = string.IsNullOrEmpty(Options.Min) ? defaultMin : Options.Min.Split(Options.Separator.First()).Select(x => byte.Parse(x, NumberStyles.HexNumber)).ToArray();
            byte[] octetsMax = string.IsNullOrEmpty(Options.Max) ? defaultMax : Options.Max.Split(Options.Separator.First()).Select(x => byte.Parse(x, NumberStyles.HexNumber)).ToArray();

            for (int i = 0; i < 6; i++)
            {
                octets[i] = new RandomThingsGenerator <byte>(octetsMin[i], octetsMax[i]);
            }
        }
        public RandomizerIPv4Address(FieldOptionsIPv4Address options) : base(options)
        {
            byte[] octetsMin = string.IsNullOrEmpty(Options.Min) ? new byte[] { 0, 0, 0, 0 } : Options.Min.Split('.').Select(x => byte.Parse(x)).ToArray();
            byte[] octetsMax = string.IsNullOrEmpty(Options.Max) ? new byte[] { 0xff, 0xff, 0xff, 0xff } : Options.Max.Split('.').Select(x => byte.Parse(x)).ToArray();

            for (int i = 0; i < 4; i++)
            {
                octets[i] = new RandomThingsGenerator <byte>(octetsMin[i], octetsMax[i]);
            }
        }
Ejemplo n.º 3
0
        public RandomizerIPv6Address(FieldOptionsIPv6Address options) : base(options)
        {
            int[] hextetsMin = string.IsNullOrEmpty(Options.Min) ? defaultMin : Options.Min.Split(':').Select(x => int.Parse(x, NumberStyles.HexNumber)).ToArray();
            int[] hextetsMax = string.IsNullOrEmpty(Options.Max) ? defaultMax : Options.Max.Split(':').Select(x => int.Parse(x, NumberStyles.HexNumber)).ToArray();

            for (int i = 0; i < 8; i++)
            {
                hextets[i] = new RandomThingsGenerator <int>(hextetsMin[i], hextetsMax[i]);
            }
        }
Ejemplo n.º 4
0
        public RandomizerFirstName(FieldOptionsFirstName options) : base(options)
        {
            if (options.Male)
            {
                _genderSetGenerators.Add(new RandomStringFromListGenerator(ListData.Instance.MaleNames));
            }

            if (options.Female)
            {
                _genderSetGenerators.Add(new RandomStringFromListGenerator(ListData.Instance.FemaleNames));
            }

            _numberGenerator = new RandomThingsGenerator <int>(0, _genderSetGenerators.Count);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 初始化一个<see cref="MACAddressRandomizer"/>类型的实例
        /// </summary>
        /// <param name="options">MAC地址配置</param>
        public MACAddressRandomizer(MACAddressFieldOptions options) : base(options)
        {
            byte[] octetsMin = string.IsNullOrEmpty(options.Min)
                ? _defaultMin
                : options.Min.Split(options.Separator.First()).Select(byte.Parse).ToArray();
            byte[] octetsMax = string.IsNullOrEmpty(options.Max)
                ? _defaultMax
                : options.Max.Split(options.Separator.First()).Select(byte.Parse).ToArray();

            for (var i = 0; i < 6; i++)
            {
                _generators[i] = new RandomThingsGenerator <byte>(octetsMin[i], octetsMax[i]);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 初始化一个<see cref="FullNameRandomizer"/>类型的实例
        /// </summary>
        /// <param name="options">全名配置</param>
        public FullNameRandomizer(FullNameFieldOptions options) : base(options)
        {
            _lastNameGenerator = new RandomStringFromListGenerator(CommonData.Instance.LastNames);

            if (options.Male)
            {
                _genderSetGenerators.Add(new RandomStringFromListGenerator(CommonData.Instance.MaleNames));
            }

            if (options.Female)
            {
                _genderSetGenerators.Add(new RandomStringFromListGenerator(CommonData.Instance.FemaleNames));
            }

            _numberGenerator = new RandomThingsGenerator <int>(0, _genderSetGenerators.Count);
        }
        public RandomizerEmailAddress(FieldOptionsEmailAddress options) : base(options)
        {
            _lastNamesGenerator      = new RandomStringFromListGenerator(ListData.Instance.LastNames.Select(l => l.ToLower()));
            _topLevelDomainGenerator = new RandomStringFromListGenerator(ListData.Instance.TopLevelDomains.Select(l => l.ToLower()));

            if (options.Male)
            {
                _genderSetGenerators.Add(new RandomStringFromListGenerator(ListData.Instance.MaleNames.Select(l => l.ToLower())));
            }

            if (options.Female)
            {
                _genderSetGenerators.Add(new RandomStringFromListGenerator(ListData.Instance.FemaleNames.Select(l => l.ToLower())));
            }

            _numberGenerator = new RandomThingsGenerator <int>(0, _genderSetGenerators.Count);
        }
 public RandomizerNumber(FieldOptionsNumber <T> options) : base(options)
 {
     _generator = new RandomThingsGenerator <T>(options.Min, options.Max);
 }
Ejemplo n.º 9
0
 public RandomizerTimeSpan(FieldOptionsTimeSpan options) : base(options)
 {
     _generator = new RandomThingsGenerator <TimeSpan>(options.From, options.To, options.Seed);
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 初始化一个<see cref="TextWordsRandomizer"/>类型的实例
 /// </summary>
 /// <param name="options"></param>
 public TextWordsRandomizer(TextWordsFieldOptions options) : base(options)
 {
     _numberGenerator = new RandomThingsGenerator <int>(Math.Min(options.Min, options.Max),
                                                        Math.Max(options.Min, options.Max) + 1);
 }
Ejemplo n.º 11
0
 /// <summary>
 /// 初始化一个<see cref="DateTimeRandomizer"/>类型的实例
 /// </summary>
 /// <param name="options">日期时间配置</param>
 public DateTimeRandomizer(DateTimeFieldOptions options) : base(options)
 {
     _generator = new RandomThingsGenerator <DateTime>(options.From, options.To);
 }
 public RandomizerDateTime(FieldOptionsDateTime options)
     : base(options)
 {
     _generator = new RandomThingsGenerator <DateTime>(options.From, options.To);
 }
Ejemplo n.º 13
0
 /// <summary>
 /// 初始化一个<see cref="TimeSpanRandomizer"/>类型的实例
 /// </summary>
 /// <param name="options">时间跨度配置</param>
 public TimeSpanRandomizer(TimeSpanFieldOptions options) : base(options)
 {
     _generator = new RandomThingsGenerator <TimeSpan>(options.From, options.To);
 }