コード例 #1
0
        private static string GenerateString(SubstringsData substrings, int minLength, Random rand)
        {
            var sb  = new StringBuilder();
            var len = rand.Next(minLength, substrings.Count);

            for (var pos = 0; pos < substrings.Count && sb.Length < len; pos++)
            {
                var str = substrings.GetRandomSubstring(pos, rand);
                sb.Append(str);
                pos += str.Length;
            }
            return(sb.ToString());
        }
コード例 #2
0
        private static string GenerateString(
            SubstringsData substrings,
            LengthDistribution lengthDistribution,
            int minLength,
            Random rand)
        {
            var sb  = new StringBuilder();
            var len = Math.Max(minLength, lengthDistribution.GetRandomValue(rand));

            for (var pos = 0; pos < substrings.Count && sb.Length < len; pos++)
            {
                var str = substrings.GetRandomSubstring(pos, rand) ?? "*";
                sb.Append(str);
                pos += str.Length;
            }
            var ret = sb.ToString();

            return(BannedWords.Contains(ret.ToUpperInvariant()) ? string.Empty : ret);
        }