diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/IFakesProvider.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/IFakesProvider.cs index 83393cb3c6..f76e1d6180 100644 --- a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/IFakesProvider.cs +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/IFakesProvider.cs @@ -135,5 +135,10 @@ public interface IFakesProvider [DispId(31)] [Description("Configures VBA.FileSystem.FileCopy calls.")] IStub FileCopy { get; } + + + [DispId(255)] + [Description("Gets an interface exposing the parameter names for all parameterized fakes.")] + IParams Params { get; } } } diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/IParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/IParams.cs new file mode 100644 index 0000000000..5f665cb89d --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/IParams.cs @@ -0,0 +1,107 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.IParamsGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always) + ] + public interface IParams + { + [DispId(1)] + [Description("Gets an interface exposing the parameter names for the 'VBA.Interaction.MsgBox' function.")] + IMsgBoxParams MsgBox { get; } + + [DispId(2)] + [Description("Gets an interface exposing the parameter names for the 'VBA.Interaction.InputBox' function.")] + IInputBoxParams InputBox { get; } + + [DispId(3)] + [Description("Gets an interface exposing the parameter names for the 'VBA.Interaction.Environ' function.")] + IEnvironParams Environ { get; } + + [DispId(4)] + [Description("Gets an interface exposing the parameter names for the 'VBA.Interaction.Shell' function.")] + IShellParams Shell { get; } + + [DispId(5)] + [Description("Gets an interface exposing the parameter names for the 'VBA.Interaction.SendKeys' function.")] + ISendKeysParams SendKeys { get; } + + [DispId(6)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.Kill' function.")] + IKillParams Kill { get; } + + [DispId(7)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.FileCopy' statement.")] + IFileCopyParams FileCopy { get; } + + [DispId(8)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.FreeFile' function.")] + IFreeFileParams FreeFile { get; } + + [DispId(9)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.GetAttr' function.")] + IGetAttrParams GetAttr { get; } + + [DispId(10)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.SetAttr' statement.")] + ISetAttrParams SetAttr { get; } + + [DispId(11)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.FileLen' function.")] + IFileLenParams FileLen { get; } + + [DispId(12)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.FileDateTime' function.")] + IFileDateTimeParams FileDateTime { get; } + + [DispId(13)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.Dir' function.")] + IDirParams Dir { get; } + + [DispId(14)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.CurDir' function.")] + ICurDirParams CurDir { get; } + + [DispId(15)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.ChDir' statement.")] + IChDirParams ChDir { get; } + + [DispId(16)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.ChDrive' statement.")] + IChDriveParams ChDrive { get; } + + [DispId(17)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.MkDir' statement.")] + IMkDirParams MkDir { get; } + + [DispId(18)] + [Description("Gets an interface exposing the parameter names for the 'VBA.FileSystem.RmDir' statement.")] + IRmDirParams RmDir { get; } + + [DispId(19)] + [Description("Gets an interface exposing the parameter names for the 'VBA.Interaction.SaveSetting' statement.")] + ISaveSettingParams SaveSetting { get; } + + [DispId(20)] + [Description("Gets an interface exposing the parameter names for the 'VBA.Interaction.DeleteSetting' statement.")] + IDeleteSettingParams DeleteSetting { get; } + + [DispId(21)] + [Description("Gets an interface exposing the parameter names for the 'VBA.Math.Randomize' statement.")] + IRandomizeParams Randomize { get; } + + [DispId(22)] + [Description("Gets an interface exposing the parameter names for the 'VBA.Math.Rnd' function.")] + IRndParams Rnd { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IChDirParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IChDirParams.cs new file mode 100644 index 0000000000..f678255261 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IChDirParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsChDirGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IChDirParams + { + /// + /// Gets the name of the 'Path' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Path' parameter.")] + string Path { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IChDriveParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IChDriveParams.cs new file mode 100644 index 0000000000..36cafc60f2 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IChDriveParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsChDriveGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IChDriveParams + { + /// + /// Gets the name of the 'Drive' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Drive' parameter.")] + string Drive { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ICurDirParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ICurDirParams.cs new file mode 100644 index 0000000000..03566dbb3a --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ICurDirParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsCurDirGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface ICurDirParams + { + /// + /// Gets the name of the 'Drive' optional parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Drive' optional parameter.")] + string Drive { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IDeleteSettingParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IDeleteSettingParams.cs new file mode 100644 index 0000000000..c8aa88f041 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IDeleteSettingParams.cs @@ -0,0 +1,40 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsDeleteSettingGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IDeleteSettingParams + { + /// + /// Gets the name of the 'AppName' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'AppName' parameter.")] + string AppName { get; } + + /// + /// Gets the name of the 'Section' parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'Section' parameter.")] + string Section { get; } + + /// + /// Gets the name of the 'Key' parameter. + /// + [DispId(3)] + [Description("Gets the name of the 'Key' parameter.")] + string Key { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IDirParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IDirParams.cs new file mode 100644 index 0000000000..8033e90448 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IDirParams.cs @@ -0,0 +1,33 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsDirGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IDirParams + { + /// + /// Gets the name of the 'PathName' optional parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'PathName' optional parameter.")] + string PathName { get; } + + /// + /// Gets the name of the 'Attributes' optional parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'Attributes' optional parameter.")] + string Attributes { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IEnvironParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IEnvironParams.cs new file mode 100644 index 0000000000..676a1e5f3b --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IEnvironParams.cs @@ -0,0 +1,33 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsEnvironGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IEnvironParams + { + /// + /// Gets the name of the 'EnvString' optional parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'EnvString' optional parameter.")] + string EnvString { get; } + + /// + /// Gets the name of the 'Number' optional parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'Number' optional parameter.")] + string Number { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFileCopyParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFileCopyParams.cs new file mode 100644 index 0000000000..f4b0ed35fa --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFileCopyParams.cs @@ -0,0 +1,33 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsFileCopyGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IFileCopyParams + { + /// + /// Gets the name of the 'Source' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Source' parameter.")] + string Source { get; } + + /// + /// Gets the name of the 'Destination' parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'Destination' parameter.")] + string Destination { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFileDateTimeParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFileDateTimeParams.cs new file mode 100644 index 0000000000..d302965175 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFileDateTimeParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsFileDateTimeGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IFileDateTimeParams + { + /// + /// Gets the name of the 'PathName' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'PathName' parameter.")] + string PathName { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFileLenParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFileLenParams.cs new file mode 100644 index 0000000000..ccd8651ef0 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFileLenParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsFileLenGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IFileLenParams + { + /// + /// Gets the name of the 'PathName' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'PathName' parameter.")] + string PathName { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFreeFileParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFreeFileParams.cs new file mode 100644 index 0000000000..1743aab8b6 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IFreeFileParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsFreeFileGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IFreeFileParams + { + /// + /// Gets the name of the 'RangeNumber' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'RangeNumber' parameter.")] + string RangeNumber { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IGetAttrParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IGetAttrParams.cs new file mode 100644 index 0000000000..fb2a9e2f76 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IGetAttrParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsGetAttrGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IGetAttrParams + { + /// + /// Gets the name of the 'PathName' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'PathName' parameter.")] + string PathName { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IInputBoxParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IInputBoxParams.cs new file mode 100644 index 0000000000..5f39137ac1 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IInputBoxParams.cs @@ -0,0 +1,68 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsInputBoxGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IInputBoxParams + { + /// + /// Gets the name of the 'Prompt' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Prompt' parameter.")] + string Prompt { get; } + + /// + /// Gets the name of the 'Title' optional parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'Title' optional parameter.")] + string Title { get; } + + /// + /// Gets the name of the 'Default' optional parameter. + /// + [DispId(3)] + [Description("Gets the name of the 'Default' optional parameter.")] + string Default { get; } + + /// + /// Gets the name of the 'XPos' optional parameter. + /// + [DispId(4)] + [Description("Gets the name of the 'XPos' optional parameter.")] + string XPos { get; } + + /// + /// Gets the name of the 'YPos' optional parameter. + /// + [DispId(5)] + [Description("Gets the name of the 'YPos' optional parameter.")] + string YPos { get; } + + /// + /// Gets the name of the 'HelpFile' optional parameter. + /// + [DispId(6)] + [Description("Gets the name of the 'HelpFile' optional parameter.")] + string HelpFile { get; } + + /// + /// Gets the name of the 'Context' optional parameter. + /// + [DispId(7)] + [Description("Gets the name of the 'Context' optional parameter.")] + string Context { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IKillParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IKillParams.cs new file mode 100644 index 0000000000..527cc31490 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IKillParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsKillGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IKillParams + { + /// + /// Gets the name of the 'PathName' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'PathName' parameter.")] + string PathName { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IMkDirParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IMkDirParams.cs new file mode 100644 index 0000000000..f72ca894f4 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IMkDirParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsMkDirGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IMkDirParams + { + /// + /// Gets the name of the 'Path' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Path' parameter.")] + string Path { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IMsgBoxParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IMsgBoxParams.cs new file mode 100644 index 0000000000..0f3dcd9df7 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IMsgBoxParams.cs @@ -0,0 +1,54 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsMsgBoxGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IMsgBoxParams + { + /// + /// Gets the name of the 'Prompt' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Prompt' parameter.")] + string Prompt { get; } + + /// + /// Gets the name of the 'Buttons' optional parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'Buttons' parameter.")] + string Buttons { get; } + + /// + /// Gets the name of the 'Title' optional parameter. + /// + [DispId(3)] + [Description("Gets the name of the 'Title' parameter.")] + string Title { get; } + + /// + /// Gets the name of the 'HelpFile' optional parameter. + /// + [DispId(4)] + [Description("Gets the name of the 'HelpFile' parameter.")] + string HelpFile { get; } + + /// + /// Gets the name of the 'Context' optional parameter. + /// + [DispId(5)] + [Description("Gets the name of the 'Context' parameter.")] + string Context { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IRandomizeParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IRandomizeParams.cs new file mode 100644 index 0000000000..56dc895f00 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IRandomizeParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsRandomizeGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IRandomizeParams + { + /// + /// Gets the name of the 'Number' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Number' parameter.")] + string Number { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IRmDirParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IRmDirParams.cs new file mode 100644 index 0000000000..3d82cd989e --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IRmDirParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsRmDirGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IRmDirParams + { + /// + /// Gets the name of the 'Path' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Path' parameter.")] + string Path { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IRndParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IRndParams.cs new file mode 100644 index 0000000000..6c83de1f40 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IRndParams.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsRndGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IRndParams + { + /// + /// Gets the name of the 'Number' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Number' parameter.")] + string Number { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ISaveSettingParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ISaveSettingParams.cs new file mode 100644 index 0000000000..da86821c56 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ISaveSettingParams.cs @@ -0,0 +1,47 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsSaveSettingGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface ISaveSettingParams + { + /// + /// Gets the name of the 'AppName' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'AppName' parameter.")] + string AppName { get; } + + /// + /// Gets the name of the 'Section' parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'Section' parameter.")] + string Section { get; } + + /// + /// Gets the name of the 'Key' parameter. + /// + [DispId(3)] + [Description("Gets the name of the 'Key' parameter.")] + string Key { get; } + + /// + /// Gets the name of the 'Setting' parameter. + /// + [DispId(4)] + [Description("Gets the name of the 'Setting' parameter.")] + string Setting { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ISendKeysParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ISendKeysParams.cs new file mode 100644 index 0000000000..b7e1c3f607 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ISendKeysParams.cs @@ -0,0 +1,33 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsSendKeysGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface ISendKeysParams + { + /// + /// Gets the name of the 'Keys' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'Keys' parameter.")] + string Keys { get; } + + /// + /// Gets the name of the 'Wait' parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'Wait' parameter.")] + string Wait { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ISetAttrParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ISetAttrParams.cs new file mode 100644 index 0000000000..67f666ac6c --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/ISetAttrParams.cs @@ -0,0 +1,33 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsSetAttrGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface ISetAttrParams + { + /// + /// Gets the name of the 'PathName' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'PathName' parameter.")] + string PathName { get; } + + /// + /// Gets the name of the 'Attributes' parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'Attributes' parameter.")] + string Attributes { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IShellParams.cs b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IShellParams.cs new file mode 100644 index 0000000000..b0c33b7a02 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/Abstract/UnitTesting/ParameterInfo/IShellParams.cs @@ -0,0 +1,33 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsShellGuid), + InterfaceType(ComInterfaceType.InterfaceIsDual), + EditorBrowsable(EditorBrowsableState.Always), + ] + public interface IShellParams + { + /// + /// Gets the name of the 'PathName' parameter. + /// + [DispId(1)] + [Description("Gets the name of the 'PathName' parameter.")] + string PathName { get; } + + /// + /// Gets the name of the 'WindowStyle' optional parameter. + /// + [DispId(2)] + [Description("Gets the name of the 'WindowStyle' parameter.")] + string WindowStyle { get; } + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/FakesProvider.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/FakesProvider.cs index c0bb2cfb6e..b14b18eeab 100644 --- a/Rubberduck.Main/ComClientLibrary/UnitTesting/FakesProvider.cs +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/FakesProvider.cs @@ -125,5 +125,7 @@ private T RetrieveOrCreateFunction(Func factory) public IFake Dir => RetrieveOrCreateFunction(); public IStub FileCopy => RetrieveOrCreateFunction(); #endregion + + public IParams Params { get; } = new Params(); } } diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/ChDirParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/ChDirParams.cs new file mode 100644 index 0000000000..26233651d5 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/ChDirParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class ChDirParams : IChDirParams + { + public string Path { get; } = nameof(Path); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/ChDriveParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/ChDriveParams.cs new file mode 100644 index 0000000000..efb0dcb3da --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/ChDriveParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class ChDriveParams : IChDriveParams + { + public string Drive { get; } = nameof(Drive); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/CurDirParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/CurDirParams.cs new file mode 100644 index 0000000000..6e43559046 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/CurDirParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class CurDirParams : ICurDirParams + { + public string Drive { get; } = nameof(Drive); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/DeleteSettingParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/DeleteSettingParams.cs new file mode 100644 index 0000000000..dd7f5c435d --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/DeleteSettingParams.cs @@ -0,0 +1,19 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class DeleteSettingParams : IDeleteSettingParams + { + public string AppName { get; } = nameof(AppName); + + public string Section { get; } = nameof(Section); + + public string Key { get; } = nameof(Key); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/DirParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/DirParams.cs new file mode 100644 index 0000000000..53bfdb9e74 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/DirParams.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class DirParams : IDirParams + { + public string PathName { get; } = nameof(PathName); + + public string Attributes { get; } = nameof(Attributes); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/EnvironParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/EnvironParams.cs new file mode 100644 index 0000000000..289241b17d --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/EnvironParams.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class EnvironParams : IEnvironParams + { + public string EnvString { get; } = nameof(EnvString); + + public string Number { get; } = nameof(Number); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FileCopyParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FileCopyParams.cs new file mode 100644 index 0000000000..d614c83759 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FileCopyParams.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class FileCopyParams : IFileCopyParams + { + public string Source { get; } = nameof(Source); + + public string Destination { get; } = nameof(Destination); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FileDateTimeParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FileDateTimeParams.cs new file mode 100644 index 0000000000..1ede01b6e1 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FileDateTimeParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class FileDateTimeParams : IFileDateTimeParams + { + public string PathName { get; } = nameof(PathName); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FileLenParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FileLenParams.cs new file mode 100644 index 0000000000..033d711a03 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FileLenParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class FileLenParams : IFileLenParams + { + public string PathName { get; } = nameof(PathName); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FreeFileParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FreeFileParams.cs new file mode 100644 index 0000000000..35f65db25e --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/FreeFileParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class FreeFileParams : IFreeFileParams + { + public string RangeNumber { get; } = nameof(RangeNumber); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/GetAttrParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/GetAttrParams.cs new file mode 100644 index 0000000000..10147a6ee3 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/GetAttrParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class GetAttrParams : IGetAttrParams + { + public string PathName { get; } = nameof(PathName); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/InputBoxParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/InputBoxParams.cs new file mode 100644 index 0000000000..2aed89ee32 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/InputBoxParams.cs @@ -0,0 +1,21 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class InputBoxParams : IInputBoxParams + { + public string Prompt { get; } = nameof(Prompt); + public string Title { get; } = nameof(Title); + public string Default { get; } = nameof(Default); + public string XPos { get; } = nameof(XPos); + public string YPos { get; } = nameof(YPos); + public string HelpFile { get; } = nameof(HelpFile); + public string Context { get; } = nameof(Context); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/KillParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/KillParams.cs new file mode 100644 index 0000000000..898515e267 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/KillParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class KillParams : IKillParams + { + public string PathName { get; } = nameof(PathName); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/MkDirParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/MkDirParams.cs new file mode 100644 index 0000000000..6e7533ab21 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/MkDirParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class MkDirParams : IMkDirParams + { + public string Path { get; } = nameof(Path); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/MsgBoxParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/MsgBoxParams.cs new file mode 100644 index 0000000000..3b85a67cf1 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/MsgBoxParams.cs @@ -0,0 +1,19 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class MsgBoxParams : IMsgBoxParams + { + public string Prompt { get; } = nameof(Prompt); + public string Buttons { get; } = nameof(Buttons); + public string Title { get; } = nameof(Title); + public string HelpFile { get; } = nameof(HelpFile); + public string Context { get; } = nameof(Context); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/Params.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/Params.cs new file mode 100644 index 0000000000..083eb3fd69 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/Params.cs @@ -0,0 +1,46 @@ +using Rubberduck.Resources.Registration; +using Rubberduck.UnitTesting; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace Rubberduck.UnitTesting +{ + [ + ComVisible(true), + Guid(RubberduckGuid.ParamsClassGuid), + ProgId(RubberduckProgId.ParamsClassProgId), + ClassInterface(ClassInterfaceType.None), + ComDefaultInterface(typeof(IParams)), + EditorBrowsable(EditorBrowsableState.Always) + ] + public class Params : IParams + { + public IMsgBoxParams MsgBox { get; } = new MsgBoxParams(); + public IInputBoxParams InputBox { get; } = new InputBoxParams(); + public IEnvironParams Environ { get; } = new EnvironParams(); + public IShellParams Shell { get; } = new ShellParams(); + public ISendKeysParams SendKeys { get; } = new SendKeysParams(); + public IKillParams Kill { get; } = new KillParams(); + public IFileCopyParams FileCopy { get; } = new FileCopyParams(); + public IFreeFileParams FreeFile { get; } = new FreeFileParams(); + public IGetAttrParams GetAttr { get; } = new GetAttrParams(); + public ISetAttrParams SetAttr { get; } = new SetAttrParams(); + public IFileLenParams FileLen { get; } = new FileLenParams(); + public IFileDateTimeParams FileDateTime { get; } = new FileDateTimeParams(); + public IDirParams Dir { get; } = new DirParams(); + public ICurDirParams CurDir { get; } = new CurDirParams(); + public IChDirParams ChDir { get; } = new ChDirParams(); + public IChDriveParams ChDrive { get; } = new ChDriveParams(); + public IMkDirParams MkDir { get; } = new MkDirParams(); + public IRmDirParams RmDir { get; } = new RmDirParams(); + public IDeleteSettingParams DeleteSetting { get; } = new DeleteSettingParams(); + public ISaveSettingParams SaveSetting { get; } = new SaveSettingParams(); + public IRandomizeParams Randomize { get; } = new RandomizeParams(); + public IRndParams Rnd { get; } = new RndParams(); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/RandomizeParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/RandomizeParams.cs new file mode 100644 index 0000000000..f41b8091c0 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/RandomizeParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class RandomizeParams : IRandomizeParams + { + public string Number { get; } = nameof(Number); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/RmDirParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/RmDirParams.cs new file mode 100644 index 0000000000..b991a254fb --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/RmDirParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class RmDirParams : IRmDirParams + { + public string Path { get; } = nameof(Path); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/RndParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/RndParams.cs new file mode 100644 index 0000000000..0def13b3a3 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/RndParams.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class RndParams : IRndParams + { + public string Number { get; } = nameof(Number); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/SaveSettingParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/SaveSettingParams.cs new file mode 100644 index 0000000000..782acc9679 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/SaveSettingParams.cs @@ -0,0 +1,21 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class SaveSettingParams : ISaveSettingParams + { + public string AppName { get; } = nameof(AppName); + + public string Section { get; } = nameof(Section); + + public string Key { get; } = nameof(Key); + + public string Setting { get; } = nameof(Setting); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/SendKeysParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/SendKeysParams.cs new file mode 100644 index 0000000000..bbd37079f8 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/SendKeysParams.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class SendKeysParams : ISendKeysParams + { + public string Keys { get; } = nameof(Keys); + + public string Wait { get; } = nameof(Wait); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/SetAttrParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/SetAttrParams.cs new file mode 100644 index 0000000000..7927679167 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/SetAttrParams.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class SetAttrParams : ISetAttrParams + { + public string PathName { get; } = nameof(PathName); + + public string Attributes { get; } = nameof(Attributes); + } +} diff --git a/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/ShellParams.cs b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/ShellParams.cs new file mode 100644 index 0000000000..8d6c54aa74 --- /dev/null +++ b/Rubberduck.Main/ComClientLibrary/UnitTesting/ParameterInfo/ShellParams.cs @@ -0,0 +1,16 @@ +using System.ComponentModel; +using System.Runtime.InteropServices; +using Rubberduck.Resources.Registration; + +// ReSharper disable InconsistentNaming +// The parameters on RD's public interfaces are following VBA conventions not C# conventions to stop the +// obnoxious "Can I haz all identifiers with the same casing" behavior of the VBE. + +namespace Rubberduck.UnitTesting +{ + internal class ShellParams : IShellParams + { + public string PathName { get; } = nameof(PathName); + public string WindowStyle { get; } = nameof(WindowStyle); + } +} diff --git a/Rubberduck.Resources/Registration/RubberduckGuid.cs b/Rubberduck.Resources/Registration/RubberduckGuid.cs index af8ceeb3d6..a2631771b9 100644 --- a/Rubberduck.Resources/Registration/RubberduckGuid.cs +++ b/Rubberduck.Resources/Registration/RubberduckGuid.cs @@ -26,6 +26,33 @@ public static class RubberduckGuid public const string IFakeGuid = UnitTestingGuidspace + "DF" + GuidSuffix; public const string IVerifyGuid = UnitTestingGuidspace + "E0" + GuidSuffix; public const string IStubGuid = UnitTestingGuidspace + "E1" + GuidSuffix; + public const string IParamsGuid = UnitTestingGuidspace + "E2" + GuidSuffix; + + public const string ParamsClassGuid = UnitTestingGuidspace + "40" + GuidSuffix; + public const string ParamsMsgBoxGuid = UnitTestingGuidspace + "41" + GuidSuffix; + public const string ParamsInputBoxGuid = UnitTestingGuidspace + "42" + GuidSuffix; + public const string ParamsEnvironGuid = UnitTestingGuidspace + "44" + GuidSuffix; + public const string ParamsShellGuid = UnitTestingGuidspace + "47" + GuidSuffix; + public const string ParamsSendKeysGuid = UnitTestingGuidspace + "48" + GuidSuffix; + public const string ParamsKillGuid = UnitTestingGuidspace + "49" + GuidSuffix; + public const string ParamsMkDirGuid = UnitTestingGuidspace + "4A" + GuidSuffix; + public const string ParamsRmDirGuid = UnitTestingGuidspace + "4B" + GuidSuffix; + public const string ParamsChDirGuid = UnitTestingGuidspace + "4C" + GuidSuffix; + public const string ParamsChDriveGuid = UnitTestingGuidspace + "4D" + GuidSuffix; + public const string ParamsCurDirGuid = UnitTestingGuidspace + "4E" + GuidSuffix; + public const string ParamsRndGuid = UnitTestingGuidspace + "52" + GuidSuffix; + public const string ParamsDeleteSettingGuid = UnitTestingGuidspace + "53" + GuidSuffix; + public const string ParamsSaveSettingGuid = UnitTestingGuidspace + "54" + GuidSuffix; + public const string ParamsGetSettingGuid = UnitTestingGuidspace + "55" + GuidSuffix; + public const string ParamsRandomizeGuid = UnitTestingGuidspace + "56" + GuidSuffix; + public const string ParamsGetAllSettingsGuid = UnitTestingGuidspace + "57" + GuidSuffix; + public const string ParamsSetAttrGuid = UnitTestingGuidspace + "58" + GuidSuffix; + public const string ParamsGetAttrGuid = UnitTestingGuidspace + "59" + GuidSuffix; + public const string ParamsFileLenGuid = UnitTestingGuidspace + "5A" + GuidSuffix; + public const string ParamsFileDateTimeGuid = UnitTestingGuidspace + "5B" + GuidSuffix; + public const string ParamsFreeFileGuid = UnitTestingGuidspace + "5C" + GuidSuffix; + public const string ParamsDirGuid = UnitTestingGuidspace + "5E" + GuidSuffix; + public const string ParamsFileCopyGuid = UnitTestingGuidspace + "5F" + GuidSuffix; // Rubberduck API Guids: private const string ApiGuidspace = "69E0F7"; diff --git a/Rubberduck.Resources/Registration/RubberduckProgId.cs b/Rubberduck.Resources/Registration/RubberduckProgId.cs index 7dc9f157e3..2c121c1e3a 100644 --- a/Rubberduck.Resources/Registration/RubberduckProgId.cs +++ b/Rubberduck.Resources/Registration/RubberduckProgId.cs @@ -17,6 +17,31 @@ public static class RubberduckProgId public const string AssertClassProgId = BaseNamespace + "AssertClass"; public const string PermissiveAssertClassProgId = BaseNamespace + "PermissiveAssertClass"; public const string FakesProviderProgId = BaseNamespace + "FakesProvider"; + public const string ParamsClassProgId = BaseNamespace + "ParamsClass"; + + public const string ParamsMsgBoxProgId = BaseNamespace + "MsgBoxParams"; + public const string ParamsInputBoxProgId = BaseNamespace + "InputBoxParams"; + public const string ParamsEnvironProgId = BaseNamespace + "EnvironParams"; + public const string ParamsShellProgId = BaseNamespace + "ShellParams"; + public const string ParamsSendKeysProgId = BaseNamespace + "SendKeysParams"; + public const string ParamsKillProgId = BaseNamespace + "KillParams"; + public const string ParamsMkDirProgId = BaseNamespace + "MkDirParams"; + public const string ParamsRmDirProgId = BaseNamespace + "RmDirParams"; + public const string ParamsChDirProgId = BaseNamespace + "ChDirParams"; + public const string ParamsChDriveProgId = BaseNamespace + "ChDriveParams"; + public const string ParamsCurDirProgId = BaseNamespace + "CurDirParams"; + public const string ParamsRandomizeProgId = BaseNamespace + "RandomizeParams"; + public const string ParamsRndProgId = BaseNamespace + "RndParams"; + public const string ParamsDeleteSettingProgId = BaseNamespace + "DeleteSettingParams"; + public const string ParamsSaveSettingProgId = BaseNamespace + "SaveSettingParams"; + public const string ParamGetSettingProgId = BaseNamespace + "GetSettingParams"; + public const string ParamsSetAttrProgId = BaseNamespace + "SetAttrParams"; + public const string ParamsGetAttrProgId = BaseNamespace + "GetAttrParams"; + public const string ParamsFileLenProgId = BaseNamespace + "FileLenParams"; + public const string ParamsFileDateTimeProgId = BaseNamespace + "FileDateTimeParams"; + public const string ParamsFreeFileProgId = BaseNamespace + "FreeFileParams"; + public const string ParamsDirProgId = BaseNamespace + "DirParams"; + public const string ParamsFileCopyProgId = BaseNamespace + "FileCopyParams"; public const string DebugAddinObject = BaseNamespace + "VBETypeLibsAPI"; }