Example #1
0
        public List <string> GenerateVarchar()
        {
            string[] separationPatterns = { "$" };

            // escaping
            pattern = pattern.Replace("\\$", "1wf#F1efadF^G21");

            // Split the pattern
            string[] split = pattern.Split(separationPatterns, StringSplitOptions.None);

            List <IKeywordGenerator> generators = new List <IKeywordGenerator>();

            // Make generator for each word
            for (int i = 1; i < split.Length; i += 2)
            {
                generators.Add(KeywordGeneratorFactory.getGenerator(split[i], ctx, Column));
            }

            List <string> resultValues = new List <string>();

            for (int h = 0; h < NumberOfRowsToGenerate; h++)
            {
                string line = "";
                for (int i = 0; i < split.Length; i++)
                {
                    if (i % 2 == 0)
                    {
                        line += split[i];
                    }
                    else
                    {
                        line += generators[i / 2].generateWord();
                    }
                }

                // return escaped
                line = line.Replace("1wf#F1efadF^G21", "$");

                resultValues.Add($"'{line}'");
            }


            return(resultValues);
        }