public void TestRandomConfig(int low, int?high) { string variableName = "myRnd"; RandomMacroConfig macroConfig = new RandomMacroConfig(variableName, low, high); IVariableCollection variables = new VariableCollection(); IRunnableProjectConfig config = new SimpleConfigModel(); IParameterSet parameters = new ParameterSet(config); ParameterSetter setter = MacroTestHelpers.TestParameterSetter(EngineEnvironmentSettings, parameters); RandomMacro macro = new RandomMacro(); macro.EvaluateConfig(EngineEnvironmentSettings, variables, macroConfig, parameters, setter); ITemplateParameter valueParam; Assert.True(parameters.TryGetParameterDefinition(variableName, out valueParam)); long randomValue = (long)parameters.ResolvedValues[valueParam]; Assert.True(randomValue >= low); if (high.HasValue) { Assert.True(randomValue <= high); } }
public void TestRandomDeferredConfig(int low, int?high) { string variableName = "myRnd"; Dictionary <string, JToken> jsonParameters = new Dictionary <string, JToken>(); jsonParameters.Add("low", low); if (high.HasValue) { jsonParameters.Add("high", high); } GeneratedSymbolDeferredMacroConfig deferredConfig = new GeneratedSymbolDeferredMacroConfig("RandomMacro", null, variableName, jsonParameters); IVariableCollection variables = new VariableCollection(); IRunnableProjectConfig config = A.Fake <IRunnableProjectConfig>(); IParameterSet parameters = new ParameterSet(config); ParameterSetter setter = MacroTestHelpers.TestParameterSetter(_engineEnvironmentSettings, parameters); RandomMacro macro = new RandomMacro(); IMacroConfig realConfig = macro.CreateConfig(_engineEnvironmentSettings, deferredConfig); macro.EvaluateConfig(_engineEnvironmentSettings, variables, realConfig, parameters, setter); ITemplateParameter valueParam; Assert.True(parameters.TryGetParameterDefinition(variableName, out valueParam)); long randomValue = (long)parameters.ResolvedValues[valueParam]; Assert.True(randomValue >= low); if (high.HasValue) { Assert.True(randomValue <= high); } }