public void ChangeValues() { IConfigParameter<int> param1 = new Int32Parameter("int32"); Assert.AreEqual(0, param1.Value); param1.SetValue(2); Assert.AreEqual(2, param1.Value); IConfigParameter<string> param2 = new StringParameter("string"); Assert.AreEqual(null, param2.Value); param2.SetValue("yyy"); Assert.AreEqual("yyy", param2.Value); IConfigParameter<TimeSpan> param3 = new TimeSpanParameter("timespan"); Assert.AreEqual(TimeSpan.Zero, param3.Value); param3.SetValue(TimeSpan.FromDays(1.5)); Assert.AreEqual(TimeSpan.FromDays(1.5), param3.Value); }
/// <summary> /// Registers a new completion scriptblock /// </summary> /// <param name="Name">The name of the completion scriptblock</param> /// <param name="ScriptBlock">The scriptblock that will provide completion data</param> /// <param name="Mode">What completion mode to use</param> /// <param name="CacheDuration">How long the gathered pieces of data remain valid.</param> /// <param name="Global">Whether to globalize scriptblocks prior to invocation.</param> /// <param name="PassThru">Parameter is ignored. Needed to have a second signature that returns the script container.</param> public static ScriptContainer RegisterCompletion(string Name, ScriptBlock ScriptBlock, TeppScriptMode Mode, TimeSpanParameter CacheDuration, bool Global, bool PassThru) { RegisterCompletion(Name, ScriptBlock, Mode, CacheDuration, Global); return(Scripts[Name]); }
/// <summary> /// Registers a new completion scriptblock /// </summary> /// <param name="Name">The name of the completion scriptblock</param> /// <param name="ScriptBlock">The scriptblock that will provide completion data</param> /// <param name="Mode">What completion mode to use</param> /// <param name="CacheDuration">How long the gathered pieces of data remain valid.</param> /// <param name="Global">Whether to globalize scriptblocks prior to invocation.</param> public static void RegisterCompletion(string Name, ScriptBlock ScriptBlock, TeppScriptMode Mode, TimeSpanParameter CacheDuration, bool Global) { ScriptContainer script = new ScriptContainer(); script.Name = Name; script.LastDuration = new TimeSpan(-1); script.LastResultsValidity = CacheDuration; script.Global = Global; TeppScriptMode effectiveMode = Mode; if (effectiveMode == TeppScriptMode.Auto) { effectiveMode = TeppScriptMode.Full; if (((ScriptBlock.Ast as ScriptBlockAst) != null) && ((ScriptBlockAst)ScriptBlock.Ast).ParamBlock == null) { effectiveMode = TeppScriptMode.Simple; } } if (effectiveMode == TeppScriptMode.Full) { script.ScriptBlock = ScriptBlock; } else { script.ScriptBlock = ScriptBlock.Create(_SimpleCompletionScript.Replace("<name>", Name)); script.InnerScriptBlock = ScriptBlock; } Scripts[Name] = script; }