Beispiel #1
0
        private T GetRandomItemFromMethod <T>(string methodName, FakerBase obj)
        {
            Type type   = obj.GetType();
            var  method = type.GetMethod(methodName);

            return((T)method.Invoke(obj, null));
        }
Beispiel #2
0
        internal FakerBase GetFakerObjectFromName(string name)
        {
            if (this.fakerDictionary.ContainsKey(name))
            {
                return(this.fakerDictionary[name]);
            }
            // If it is the first time, create the FakerBase and add it to the dictionary
            Type      t     = Assembly.GetExecutingAssembly().GetType("Faker." + name);
            FakerBase faker = Activator.CreateInstance(t, this.localeType) as FakerBase;

            this.fakerDictionary.Add(name, faker);
            return(faker);
        }
Beispiel #3
0
        internal string FillInRandomDataFromMethod(string format)
        {
            string result  = format;
            string pattern = @"\@\{(?<" + methodName + @">[A-Za-z.]+)\}";
            var    matches = Regex.Matches(format, pattern);

            while (matches.Count > 0)
            {
                Match    match          = matches[0];
                string   fullNameSpaces = match.Groups[methodName].Value;
                string[] names          = fullNameSpaces.Split('.');
                string[] namespaceArray = new string[names.Length - 1];
                Array.Copy(names, namespaceArray, names.Length - 1);
                string    nameSpace  = string.Join(".", namespaceArray);
                string    methodname = names[names.Length - 1];
                FakerBase faker      = this.GetFakerObjectFromName(nameSpace);
                result  = result.Remove(match.Index, match.Length).Insert(match.Index, GetRandomItemFromMethod <string>(methodname, faker));
                matches = Regex.Matches(result, pattern);
            }
            return(result);
        }