From 9a30e02a4bf0653fab810e044ea85deeb54d236c Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 23 Aug 2019 21:30:12 +0100 Subject: [PATCH] Started working on the focuser unit testing --- .../AstroMath.UnitTests.csproj | 5 +- AstroMath.UnitTests/app.config | 11 ++ AstroMath.UnitTests/packages.config | 2 +- .../BootstrapAscomProfileStore.ps1 | 36 +++++ .../FocuserUnitTests.cs | 145 ++++++++++++++++++ .../Meade.net.Focuser.UnitTests.csproj | 122 +++++++++++++++ .../Properties/AssemblyInfo.cs | 36 +++++ Meade.net.Focuser.UnitTests/app.config | 11 ++ Meade.net.Focuser.UnitTests/packages.config | 9 ++ .../Meade.net.Telescope.UnitTests.csproj | 4 +- .../TelescopeUnitTests.cs | 2 +- Meade.net.Telescope.UnitTests/app.config | 12 +- Meade.net.Telescope.UnitTests/packages.config | 2 +- Meade.net.focuser/Focuser.cs | 52 ++----- Meade.net.sln | 15 ++ Meade.net/SetupDialogForm.cs | 4 +- 16 files changed, 416 insertions(+), 52 deletions(-) create mode 100644 AstroMath.UnitTests/app.config create mode 100644 Meade.net.Focuser.UnitTests/BootstrapAscomProfileStore.ps1 create mode 100644 Meade.net.Focuser.UnitTests/FocuserUnitTests.cs create mode 100644 Meade.net.Focuser.UnitTests/Meade.net.Focuser.UnitTests.csproj create mode 100644 Meade.net.Focuser.UnitTests/Properties/AssemblyInfo.cs create mode 100644 Meade.net.Focuser.UnitTests/app.config create mode 100644 Meade.net.Focuser.UnitTests/packages.config diff --git a/AstroMath.UnitTests/AstroMath.UnitTests.csproj b/AstroMath.UnitTests/AstroMath.UnitTests.csproj index ad41f58..14292b4 100644 --- a/AstroMath.UnitTests/AstroMath.UnitTests.csproj +++ b/AstroMath.UnitTests/AstroMath.UnitTests.csproj @@ -68,8 +68,8 @@ ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - ..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll + + ..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll @@ -89,6 +89,7 @@ + diff --git a/AstroMath.UnitTests/app.config b/AstroMath.UnitTests/app.config new file mode 100644 index 0000000..8d5ec5f --- /dev/null +++ b/AstroMath.UnitTests/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/AstroMath.UnitTests/packages.config b/AstroMath.UnitTests/packages.config index 605fe2b..b50b126 100644 --- a/AstroMath.UnitTests/packages.config +++ b/AstroMath.UnitTests/packages.config @@ -4,5 +4,5 @@ - + \ No newline at end of file diff --git a/Meade.net.Focuser.UnitTests/BootstrapAscomProfileStore.ps1 b/Meade.net.Focuser.UnitTests/BootstrapAscomProfileStore.ps1 new file mode 100644 index 0000000..213c64d --- /dev/null +++ b/Meade.net.Focuser.UnitTests/BootstrapAscomProfileStore.ps1 @@ -0,0 +1,36 @@ +<# +This script initializes a bare minimum set of registry entries required for ASCOM.Utilities.Profile to work +without throwing any exceptions. When building on a build server, or on a computer without the ASCOM Platform installed, +it may be useful to execute this script as a build step prior to running any unit tests, or calling any code that relies on +ASCOM.Utilities.Profile. The alternative is to install the ASCOM Platform on the build agent. + +NOTE: This script equires elevated permissions because it creates registry keys in the LocalMachine hive. +#> + +$wow = Test-Path HKLM:\SOFTWARE\Wow6432Node +if ($wow) + { + $root = "HKLM:\SOFTWARE\Wow6432Node" + } +else + { + $root = "HKLM:\SOFTWARE" + } +$ascomRoot = $root + "\ASCOM" + +if (Test-Path $ascomRoot) + { + <# Don't upset an already-existing ASCOM registry #> + exit + } + +<# Create the ASCOM root key and set it's ACL to allow all users read/write access #> +New-Item -Path $root -Name ASCOM –Force +$ascomAcl = Get-Acl $ascomRoot +$aclRule = New-Object System.Security.AccessControl.RegistryAccessRule ("Users","FullControl","Allow") +$ascomAcl.SetAccessRule($aclRule) +$ascomAcl | Set-Acl -Path $ascomRoot + +<# Now create the bare minimum keys required so that ASCOM.Utilities.Profile doesn't crash and burn #> +New-ItemProperty -Path $ascomRoot -Name PlatformVersion -Value "6.1" -PropertyType String –Force +New-ItemProperty -Path $ascomRoot -Name SerTraceFile -Value "C:\SerialTraceAuto.txt" -PropertyType String –Force diff --git a/Meade.net.Focuser.UnitTests/FocuserUnitTests.cs b/Meade.net.Focuser.UnitTests/FocuserUnitTests.cs new file mode 100644 index 0000000..21aa8fa --- /dev/null +++ b/Meade.net.Focuser.UnitTests/FocuserUnitTests.cs @@ -0,0 +1,145 @@ +using ASCOM; +using ASCOM.Meade.net; +using ASCOM.Meade.net.Wrapper; +using ASCOM.Utilities.Interfaces; +using Moq; +using NUnit.Framework; + +namespace Meade.net.Focuser.UnitTests +{ + [TestFixture] + public class FocuserUnitTests + { + private Mock _utilMock; + private Mock _sharedResourcesWrapperMock; + + private ProfileProperties _profileProperties; + + private ASCOM.Meade.net.Focuser _focuser; + + [SetUp] + public void Setup() + { + _profileProperties = new ProfileProperties(); + _profileProperties.TraceLogger = false; + _profileProperties.ComPort = "TestCom1"; + _profileProperties.GuideRateArcSecondsPerSecond = 1.23; + _profileProperties.Precision = "Unchanged"; + + _utilMock = new Mock(); + + _sharedResourcesWrapperMock = new Mock(); + _sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(() => _profileProperties); + + _focuser = new ASCOM.Meade.net.Focuser(_utilMock.Object, _sharedResourcesWrapperMock.Object); + } + + private void ConnectFocuser() + { + _sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => TelescopeList.Autostar497); + _sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => TelescopeList.Autostar497_31Ee); + _focuser.Connected = true; + } + + [Test] + public void CheckThatClassCreatedProperly() + { + Assert.That(_focuser, Is.Not.Null); + } + + [Test] + public void SetupDialog() + { + _sharedResourcesWrapperMock.Verify(x => x.ReadProfile(), Times.Once); + + _focuser.SetupDialog(); + + _sharedResourcesWrapperMock.Verify(x => x.SetupDialog(), Times.Once); + _sharedResourcesWrapperMock.Verify(x => x.ReadProfile(), Times.Exactly(2)); + } + + [Test] + public void SupportedActions() + { + var supportedActions = _focuser.SupportedActions; + + Assert.That(supportedActions, Is.Not.Null); + Assert.That(supportedActions.Count, Is.EqualTo(0)); + } + + [Test] + public void Action_WhenNotConnected_ThrowsNotConnectedException() + { + var actionName = "Action"; + + var exception = Assert.Throws(() => { var actualResult = _focuser.Action(actionName, string.Empty); }); + } + + [Test] + public void CommandBlind_WhenNotConnected_ThenThrowsNotConnectedException() + { + string expectedMessage = "test blind Message"; + var exception = Assert.Throws(() => { _focuser.CommandBlind(expectedMessage, true); }); + + Assert.That(exception.Message, Is.EqualTo("Not connected to focuser when trying to execute: CommandBlind")); + } + + [Test] + public void CommandBlind_WhenConnected_ThenSendsExpectedMessage() + { + string expectedMessage = "test blind Message"; + + ConnectFocuser(); + + _focuser.CommandBlind(expectedMessage, true); + + _sharedResourcesWrapperMock.Verify(x => x.SendBlind(expectedMessage), Times.Once); + } + + [Test] + public void CommandBool_WhenNotConnected_ThenThrowsNotConnectedException() + { + string expectedMessage = "test blind Message"; + var exception = Assert.Throws(() => { _focuser.CommandBool(expectedMessage, true); }); + + Assert.That(exception.Message, Is.EqualTo("Not connected to focuser when trying to execute: CommandBool")); + } + + [Test] + public void CommandBool_WhenConnected_ThenSendsExpectedMessage() + { + string expectedMessage = "test blind Message"; + + ConnectFocuser(); + + var exception = Assert.Throws(() => { _focuser.CommandBool(expectedMessage, true); }); + + Assert.That(exception.Message, Is.EqualTo("Method CommandBool is not implemented in this driver.")); + } + + [Test] + public void CommandString_WhenNotConnected_ThenThrowsNotConnectedException() + { + string expectedMessage = "test blind Message"; + var exception = Assert.Throws(() => { _focuser.CommandString(expectedMessage, true); }); + + Assert.That(exception.Message, Is.EqualTo("Not connected to focuser when trying to execute: CommandString")); + } + + [Test] + public void CommandString_WhenConnected_ThenSendsExpectedMessage() + { + string expectedMessage = "expected result message"; + string sendMessage = "test blind Message"; + + ConnectFocuser(); + + _sharedResourcesWrapperMock.Setup(x => x.SendString(sendMessage)).Returns(() => expectedMessage); + + var actualMessage = _focuser.CommandString(sendMessage, true); + + _sharedResourcesWrapperMock.Verify(x => x.SendString(sendMessage), Times.Once); + Assert.That(actualMessage, Is.EqualTo(expectedMessage)); + } + } +} diff --git a/Meade.net.Focuser.UnitTests/Meade.net.Focuser.UnitTests.csproj b/Meade.net.Focuser.UnitTests/Meade.net.Focuser.UnitTests.csproj new file mode 100644 index 0000000..8181584 --- /dev/null +++ b/Meade.net.Focuser.UnitTests/Meade.net.Focuser.UnitTests.csproj @@ -0,0 +1,122 @@ + + + + + + Debug + AnyCPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30} + Library + Properties + Meade.net.Focuser.UnitTests + Meade.net.Focuser.UnitTests + v4.7.2 + 512 + true + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + x86 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Astrometry.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Attributes.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Cache.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Controls.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.DeviceInterfaces.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.DriverAccess.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Exceptions.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Internal.Extensions.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.SettingsProvider.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Utilities.dll + + + ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Utilities.Video.dll + + + ..\packages\Castle.Core.4.4.0\lib\net45\Castle.Core.dll + + + ..\packages\Moq.4.12.0\lib\net45\Moq.dll + + + ..\packages\NUnit.3.12.0\lib\net45\nunit.framework.dll + + + + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + + + + + + + + + + {a97e3aec-f11d-49da-b259-de99da813a86} + Meade.net.focuser + + + {3689a2cb-94c5-4012-a5cf-7e7d1dd27143} + Meade.net + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/Meade.net.Focuser.UnitTests/Properties/AssemblyInfo.cs b/Meade.net.Focuser.UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..61a9edd --- /dev/null +++ b/Meade.net.Focuser.UnitTests/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Meade.net.Focuser.UnitTests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Meade.net.Focuser.UnitTests")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a3991fa7-23c3-405a-96f9-5ab03ac58f30")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Meade.net.Focuser.UnitTests/app.config b/Meade.net.Focuser.UnitTests/app.config new file mode 100644 index 0000000..8d5ec5f --- /dev/null +++ b/Meade.net.Focuser.UnitTests/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Meade.net.Focuser.UnitTests/packages.config b/Meade.net.Focuser.UnitTests/packages.config new file mode 100644 index 0000000..1330573 --- /dev/null +++ b/Meade.net.Focuser.UnitTests/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Meade.net.Telescope.UnitTests/Meade.net.Telescope.UnitTests.csproj b/Meade.net.Telescope.UnitTests/Meade.net.Telescope.UnitTests.csproj index 23613aa..930def6 100644 --- a/Meade.net.Telescope.UnitTests/Meade.net.Telescope.UnitTests.csproj +++ b/Meade.net.Telescope.UnitTests/Meade.net.Telescope.UnitTests.csproj @@ -104,8 +104,8 @@ ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll - - ..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\portable-net45+win8+wp8+wpa81\System.Threading.Tasks.Extensions.dll + + ..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll diff --git a/Meade.net.Telescope.UnitTests/TelescopeUnitTests.cs b/Meade.net.Telescope.UnitTests/TelescopeUnitTests.cs index 5150e8d..cb74535 100644 --- a/Meade.net.Telescope.UnitTests/TelescopeUnitTests.cs +++ b/Meade.net.Telescope.UnitTests/TelescopeUnitTests.cs @@ -41,7 +41,7 @@ namespace Meade.net.Telescope.UnitTests _sharedResourcesWrapperMock = new Mock(); _sharedResourcesWrapperMock.Setup(x => x.SendString(":GZ#")).Returns("DDD*MM’SS"); - _sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(_profileProperties); + _sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(() =>_profileProperties); _sharedResourcesWrapperMock.Setup(x => x.Lock(It.IsAny())).Callback(action => { action(); }); _sharedResourcesWrapperMock.Setup(x => x.Lock(It.IsAny>())).Returns>( (func) => func()); _sharedResourcesWrapperMock.Setup(x => x.Lock(It.IsAny>())).Returns>((func) => func()); diff --git a/Meade.net.Telescope.UnitTests/app.config b/Meade.net.Telescope.UnitTests/app.config index 312e994..ea6ff10 100644 --- a/Meade.net.Telescope.UnitTests/app.config +++ b/Meade.net.Telescope.UnitTests/app.config @@ -1,11 +1,15 @@ - + - - + + + + + + - + diff --git a/Meade.net.Telescope.UnitTests/packages.config b/Meade.net.Telescope.UnitTests/packages.config index b360f81..4c380c0 100644 --- a/Meade.net.Telescope.UnitTests/packages.config +++ b/Meade.net.Telescope.UnitTests/packages.config @@ -5,5 +5,5 @@ - + \ No newline at end of file diff --git a/Meade.net.focuser/Focuser.cs b/Meade.net.focuser/Focuser.cs index b675b31..0b7b896 100644 --- a/Meade.net.focuser/Focuser.cs +++ b/Meade.net.focuser/Focuser.cs @@ -66,12 +66,21 @@ namespace ASCOM.Meade.net public Focuser() { //todo move this out to IOC - _utilities = new Util(); //Initialise util object + var util = new Util(); //Initialise util object + _utilities = util; _sharedResourcesWrapper = new SharedResourcesWrapper(); Initialise(); } + public Focuser(IUtil util, ISharedResourcesWrapper sharedResourcesWrapper) + { + _utilities = util; + _sharedResourcesWrapper = sharedResourcesWrapper; + + Initialise(); + } + private void Initialise() { //todo move the TraceLogger out to a factory class. @@ -118,7 +127,7 @@ namespace ASCOM.Meade.net public string Action(string actionName, string actionParameters) { LogMessage("", "Action {0}, parameters {1} not implemented", actionName, actionParameters); - throw new ActionNotImplementedException("Action " + actionName + " is not implemented by this driver"); + throw new ActionNotImplementedException(); } public void CommandBlind(string command, bool raw) @@ -149,8 +158,7 @@ namespace ASCOM.Meade.net // then all communication calls this function // you need something to ensure that only one command is in progress at a time return _sharedResourcesWrapper.SendString(command); - - throw new MethodNotImplementedException("CommandString"); + //throw new ASCOM.MethodNotImplementedException("CommandString"); } public void Dispose() @@ -182,9 +190,6 @@ namespace ASCOM.Meade.net _sharedResourcesWrapper.Connect("Serial", DriverId); try { - SelectSite(1); - SetLongFormat(true); - IsConnected = true; } catch (Exception) @@ -207,37 +212,6 @@ namespace ASCOM.Meade.net } } - private void SetLongFormat(bool setLongFormat) - { - _sharedResourcesWrapper.Lock(() => - { - var result = _sharedResourcesWrapper.SendString(":GZ#"); - //:GZ# Get telescope azimuth - //Returns: DDD*MM#T or DDD*MM’SS# - //The current telescope Azimuth depending on the selected precision. - - bool isLongFormat = result.Length > 6; - - if (isLongFormat != setLongFormat) - { - _utilities.WaitForMilliseconds(500); - _sharedResourcesWrapper.SendBlind(":U#"); - //:U# Toggle between low/hi precision positions - //Low - RA displays and messages HH:MM.T sDD*MM - //High - Dec / Az / El displays and messages HH:MM: SS sDD*MM:SS - // Returns Nothing - } - }); - } - - private void SelectSite(int site) - { - _sharedResourcesWrapper.SendBlind($":W{site}#"); - //:W# - //Set current site to, an ASCII digit in the range 1..4 - //Returns: Nothing - } - public string Description { // TODO customise this device description @@ -568,7 +542,7 @@ namespace ASCOM.Meade.net { if (!IsConnected) { - throw new NotConnectedException(message); + throw new NotConnectedException($"Not connected to focuser when trying to execute: {message}"); } } diff --git a/Meade.net.sln b/Meade.net.sln index a77a62d..e916044 100644 --- a/Meade.net.sln +++ b/Meade.net.sln @@ -23,6 +23,8 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Meade.net.Setup", "Meade.ne EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Meade.net.Telescope.UnitTests", "Meade.net.Telescope.UnitTests\Meade.net.Telescope.UnitTests.csproj", "{B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Meade.net.Focuser.UnitTests", "Meade.net.Focuser.UnitTests\Meade.net.Focuser.UnitTests.csproj", "{A3991FA7-23C3-405A-96F9-5AB03AC58F30}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -120,6 +122,18 @@ Global {B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33}.Release|x64.Build.0 = Release|Any CPU {B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33}.Release|x86.ActiveCfg = Release|x86 {B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33}.Release|x86.Build.0 = Release|x86 + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|x64.ActiveCfg = Debug|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|x64.Build.0 = Debug|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|x86.ActiveCfg = Debug|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|x86.Build.0 = Debug|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|Any CPU.Build.0 = Release|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|x64.ActiveCfg = Release|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|x64.Build.0 = Release|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|x86.ActiveCfg = Release|Any CPU + {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -129,6 +143,7 @@ Global {AABC96B8-C462-4B3A-9B5F-2929E3CB7A49} = {BF650D97-AF98-4638-9C55-21311C6D88DA} {AD4959DD-33D7-4C3F-8DB0-7361D8E74A95} = {0958D817-269C-44BE-BEFB-F3E6A409DE91} {B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33} = {0958D817-269C-44BE-BEFB-F3E6A409DE91} + {A3991FA7-23C3-405A-96F9-5AB03AC58F30} = {0958D817-269C-44BE-BEFB-F3E6A409DE91} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {3C0509DC-C7F5-48DC-920D-DCFD9C879BD2} diff --git a/Meade.net/SetupDialogForm.cs b/Meade.net/SetupDialogForm.cs index cac2def..645ca81 100644 --- a/Meade.net/SetupDialogForm.cs +++ b/Meade.net/SetupDialogForm.cs @@ -55,7 +55,7 @@ namespace ASCOM.Meade.net { cboPrecision.SelectedItem = profileProperties.Precision; } - catch (Exception e) + catch (Exception) { cboPrecision.SelectedItem = "Unchanged"; } @@ -95,7 +95,7 @@ namespace ASCOM.Meade.net lblPercentOfSiderealRate.Text = $"({percentOfSideReal:00.0}% of sidereal rate)"; _guideRateValid = true; } - catch (Exception exception) + catch (Exception) { //Surpressing this exception as if the value is not valid then it's not useful. _guideRateValid = false;