/// <inheritdoc /> public override IEnumerable <string> GetValues(IInputArguments input) { // validate this.AssertInput(input); if (!input.HasPositionalArgs) { yield break; } // get random number for input string seedString = input.GetRawArgumentValue("key") ?? input.TokenString.Path; int randomNumber = new Random(unchecked (this.BaseSeed + seedString.GetHashCode())).Next(); // choose value yield return(input.PositionalArgs[randomNumber % input.PositionalArgs.Length]); }
/// <inheritdoc /> public override IEnumerable <string> GetValues(IInputArguments input) { // validate this.AssertInput(input); if (!input.HasPositionalArgs) { return(InvariantSets.Empty); } // get random number for input string seedString = input.GetRawArgumentValue("key") ?? input.TokenString !.Path; int randomNumber = new Random(unchecked (this.BaseSeed + this.GetDeterministicHashCode(seedString))).Next(); // choose value return(InvariantSets.FromValue(input.PositionalArgs[randomNumber % input.PositionalArgs.Length])); }