public void EvaluateNowConfig() { string variableName = "nowString"; string format = ""; bool utc = true; NowMacroConfig macroConfig = new NowMacroConfig(variableName, format, utc); IVariableCollection variables = new VariableCollection(); IRunnableProjectConfig config = new SimpleConfigModel(); IParameterSet parameters = new ParameterSet(config); ParameterSetter setter = MacroTestHelpers.TestParameterSetter(EngineEnvironmentSettings, parameters); NowMacro macro = new NowMacro(); macro.EvaluateConfig(EngineEnvironmentSettings, variables, macroConfig, parameters, setter); ITemplateParameter resultParam; Assert.True(parameters.TryGetParameterDefinition(variableName, out resultParam)); string macroNowString = (string)parameters.ResolvedValues[resultParam]; DateTime macroNowTime = Convert.ToDateTime(macroNowString); TimeSpan difference = macroNowTime.Subtract(DateTime.UtcNow); // 10 seconds is quite a lot of wiggle room, but should be fine, and safe. Assert.True(difference.TotalSeconds < 10); }
public void EvaluateNowDeferredConfig() { string variableName = "nowString"; string format = ""; bool utc = false; Dictionary <string, JToken> jsonParameters = new Dictionary <string, JToken>(); jsonParameters.Add("format", format); jsonParameters.Add("utc", utc); GeneratedSymbolDeferredMacroConfig deferredConfig = new GeneratedSymbolDeferredMacroConfig("NowMacro", variableName, jsonParameters); IVariableCollection variables = new VariableCollection(); IRunnableProjectConfig config = new SimpleConfigModel(); IParameterSet parameters = new ParameterSet(config); ParameterSetter setter = MacroTestHelpers.TestParameterSetter(EngineEnvironmentSettings, parameters); NowMacro macro = new NowMacro(); IMacroConfig realConfig = macro.CreateConfig(EngineEnvironmentSettings, deferredConfig); macro.EvaluateConfig(EngineEnvironmentSettings, variables, realConfig, parameters, setter); ITemplateParameter resultParam; Assert.True(parameters.TryGetParameterDefinition(variableName, out resultParam)); string macroNowString = (string)parameters.ResolvedValues[resultParam]; DateTime macroNowTime = Convert.ToDateTime(macroNowString); TimeSpan difference = macroNowTime.Subtract(DateTime.Now); // 10 seconds is quite a lot of wiggle room, but should be fine, and safe. Assert.True(difference.TotalSeconds < 10); }
public void EvaluateNowOverrideDatatypeInConfig(string type) { string variableName = "nowString"; string format = ""; bool utc = false; Dictionary<string, JToken> jsonParameters = new Dictionary<string, JToken>(); jsonParameters.Add("format", format); jsonParameters.Add("utc", utc); jsonParameters.Add("datatype", type); GeneratedSymbolDeferredMacroConfig deferredConfig = new GeneratedSymbolDeferredMacroConfig("NowMacro", type, variableName, jsonParameters); NowMacro macro = new NowMacro(); IMacroConfig realConfig = macro.CreateConfig(_engineEnvironmentSettings, deferredConfig); Assert.Equal("string", (realConfig as NowMacroConfig)?.DataType); }