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()); }
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); }