private static bool?ShowParameterEditor(ParamBlockAst paramBlockAst, out string scriptArgs) { scriptArgs = String.Empty; var model = PowerShellParseUtilities.ParseParameters(paramBlockAst); var viewModel = new ParameterEditorViewModel(model); var view = new ParameterEditorView(viewModel); bool?wasOkClicked = view.ShowModal(); if (wasOkClicked != true) { return(wasOkClicked); } scriptArgs = GenerateScripArgsFromModel(model); return(wasOkClicked); }
public void ShouldParseParametersCorrectly() { ParamBlockAst paramBlock = GenerateParamBlockAst(scriptWithParameters); var model = PowerShellParseUtilities.ParseParameters(paramBlock); var expectedModel = new ParameterEditorModel( new ObservableCollection <ScriptParameterViewModel>() { new ScriptParameterViewModel(new ScriptParameter() { Name = "StringType", Type = DataTypeConstants.StringType, DefaultValue = null }), new ScriptParameterViewModel(new ScriptParameter() { Name = "CharType", Type = DataTypeConstants.CharType, DefaultValue = null }), new ScriptParameterViewModel(new ScriptParameter() { Name = "ByteType", Type = DataTypeConstants.ByteType, DefaultValue = null }), new ScriptParameterViewModel(new ScriptParameter() { Name = "IntType", Type = DataTypeConstants.Int32Type, DefaultValue = null }) }, PowerShellParseUtilities.GenerateCommonParameters()); Assert.AreEqual <bool>(true, CompareParameterEditorModels(expectedModel, model)); }
public void ShouldParseParameterSetNamesCorrectly() { ParamBlockAst paramBlock = GenerateParamBlockAst(scriptWithParameterSets); var model = PowerShellParseUtilities.ParseParameters(paramBlock); var expectedModel = new ParameterEditorModel( new ObservableCollection <ScriptParameterViewModel>() { new ScriptParameterViewModel(new ScriptParameter() { Name = "StringType", Type = DataTypeConstants.StringType, DefaultValue = null }), new ScriptParameterViewModel(new ScriptParameter() { Name = "CharType", Type = DataTypeConstants.CharType, DefaultValue = "c" }) }, PowerShellParseUtilities.GenerateCommonParameters(), new Dictionary <string, IList <ScriptParameterViewModel> >() { { "Set1", new List <ScriptParameterViewModel>() { new ScriptParameterViewModel(new ScriptParameter() { Name = "LongType", Type = DataTypeConstants.Int64Type, DefaultValue = 100000, ParameterSetName = "Set1" }), new ScriptParameterViewModel(new ScriptParameter() { Name = "BoolType", Type = DataTypeConstants.BoolType, DefaultValue = null, ParameterSetName = "Set1" }) } }, { "Set2", new List <ScriptParameterViewModel>() { new ScriptParameterViewModel(new ScriptParameter() { Name = "SwitchType", Type = DataTypeConstants.SwitchType, ParameterSetName = "Set2", }), new ScriptParameterViewModel(new ScriptParameter() { Name = "DecimalType", Type = DataTypeConstants.DecimalType, ParameterSetName = "Set2" }) } } }, new List <string>() { "Set1", "Set2" }, "Set1"); Assert.AreEqual <bool>(true, CompareParameterEditorModels(expectedModel, model)); }