@@ -911,12 +911,14 @@ namespace Meade.net.Telescope.UnitTests
|
||||
Assert.That(result, Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CanPark_Get_ReturnsTrue()
|
||||
[TestCase("Autostar", "43Eg", true)]
|
||||
[TestCase("LX200 Classic", "", false)]
|
||||
public void CanPark_Get_ReturnsTrue(string productName, string firmware, bool canPark)
|
||||
{
|
||||
ConnectTelescope(productName, firmware, $"{_testProperties.AlignmentMode}N0");
|
||||
var result = _telescope.CanPark;
|
||||
|
||||
Assert.That(result, Is.True);
|
||||
Assert.That(result, Is.EqualTo(canPark));
|
||||
}
|
||||
|
||||
[TestCase("Autostar", "43Eg")]
|
||||
@@ -1622,25 +1624,13 @@ namespace Meade.net.Telescope.UnitTests
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Park_WhenLX200NotParked_ThenSendsParkCommand()
|
||||
public void Park_WhenLX200ClassicNotParked_ThenSendsParkCommand()
|
||||
{
|
||||
var alt = 77.55;
|
||||
var altAsDM = "77*30";
|
||||
_utilMock.Setup(x => x.DegreesToDM(alt, "*", "", 2)).Returns(altAsDM);
|
||||
|
||||
var az = 180;
|
||||
var azAsDM = "180*00";
|
||||
_utilMock.Setup(x => x.DegreesToDM(az, "*", "", 2)).Returns(azAsDM);
|
||||
|
||||
_sharedResourcesWrapperMock.Setup(x => x.SendBool(_traceLoggerMock.Object, "Sa+77*30", false)).Returns(true);
|
||||
_sharedResourcesWrapperMock.Setup(x => x.SendBool(_traceLoggerMock.Object, "Sz180*00", false)).Returns(true);
|
||||
|
||||
ConnectTelescope(TelescopeList.LX200CLASSIC);
|
||||
Assert.That(_telescope.AtPark, Is.False);
|
||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "hP", false), Times.Never);
|
||||
|
||||
_telescope.Park();
|
||||
|
||||
Assert.That(_telescope.AtPark, Is.True);
|
||||
Assert.Throws<ASCOM.NotImplementedException>(() => { _telescope.Park(); });
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -2701,6 +2691,38 @@ namespace Meade.net.Telescope.UnitTests
|
||||
[TestCase(DriveRates.driveLunar, "58.9", "Autostar", "A4S4")]
|
||||
public void TrackingRate_Get_WhenConnected_ThenSendsCommandToTelescope(DriveRates rate, string trackingRate, string productName, string firmware)
|
||||
{
|
||||
CultureInfo.CurrentCulture = new CultureInfo("en-GB");
|
||||
_siderealTrackingRate = trackingRate;
|
||||
|
||||
ConnectTelescope(productName, firmware);
|
||||
|
||||
_telescope.TrackingRate = rate;
|
||||
|
||||
var result = _telescope.TrackingRate;
|
||||
|
||||
Assert.That(result, Is.EqualTo(rate));
|
||||
}
|
||||
|
||||
[TestCase(DriveRates.driveSidereal, "60.1", "Autostar", "43Eg")]
|
||||
[TestCase(DriveRates.driveSidereal, "60.0", "Autostar", "43Eg")]
|
||||
[TestCase(DriveRates.driveLunar, "57.9", "Autostar", "43Eg")]
|
||||
[TestCase(DriveRates.driveSidereal, "+60.1", "Autostar", "43Eg")]
|
||||
[TestCase(DriveRates.driveSidereal, "+60.0", "Autostar", "43Eg")]
|
||||
[TestCase(DriveRates.driveLunar, "+57.9", "Autostar", "43Eg")]
|
||||
[TestCase(DriveRates.driveLunar, "57.3", "Autostar", "43Eg")]
|
||||
[TestCase(DriveRates.driveLunar, "58.9", "Autostar", "43Eg")]
|
||||
[TestCase(DriveRates.driveSidereal, "60.1", "Autostar", "A4S4")]
|
||||
[TestCase(DriveRates.driveSidereal, "60.0", "Autostar", "A4S4")]
|
||||
[TestCase(DriveRates.driveLunar, "57.9", "Autostar", "A4S4")]
|
||||
[TestCase(DriveRates.driveSidereal, "+60.1", "Autostar", "A4S4")]
|
||||
[TestCase(DriveRates.driveSidereal, "+60.0", "Autostar", "A4S4")]
|
||||
[TestCase(DriveRates.driveLunar, "+57.9", "Autostar", "A4S4")]
|
||||
[TestCase(DriveRates.driveLunar, "57.3", "Autostar", "A4S4")]
|
||||
[TestCase(DriveRates.driveLunar, "58.9", "Autostar", "A4S4")]
|
||||
public void TrackingRate_Get_WhenConnectedAndCurrentCultureIsSpanish_ThenSendsCommandToTelescope(DriveRates rate, string trackingRate, string productName, string firmware)
|
||||
{
|
||||
CultureInfo.CurrentCulture = new CultureInfo("es-ES");
|
||||
|
||||
_siderealTrackingRate = trackingRate;
|
||||
|
||||
ConnectTelescope(productName, firmware);
|
||||
@@ -3005,6 +3027,7 @@ namespace Meade.net.Telescope.UnitTests
|
||||
[TestCase(TelescopeList.LX200CLASSIC, "", "", false)]
|
||||
[TestCase(TelescopeList.LX200CLASSIC, "", "[FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF][FF] [FF][FF][FF][FF][FF][FF]", false)] //The test case below is this same string encoded to return exactly what the telescope will return.
|
||||
[TestCase(TelescopeList.LX200CLASSIC, "", "\x00ff\x00ff\x00ff\x00ff\x00ff\x00ff\x00ff\x00ff\x00ff\x00ff\x00ff\x00ff\x00ff\x00ff \x00ff\x00ff\x00ff\x00ff\x00ff\x00ff", false)]
|
||||
[TestCase(TelescopeList.LX200CLASSIC, "", "[FF][FF][FF] [FF][FF][FF] ", true)] //The test case below is this same string encoded to return exactly what the telescope will return.
|
||||
[TestCase(TelescopeList.Autostar497, TelescopeList.Autostar497_43Eg, "|", true)]
|
||||
[TestCase(TelescopeList.Autostar497, TelescopeList.Autostar497_43Eg, "\x007f", true)]
|
||||
[TestCase(TelescopeList.Autostar497, TelescopeList.Autostar497_43Eg, "", false)]
|
||||
|
||||
@@ -1520,8 +1520,9 @@ namespace ASCOM.Meade.net
|
||||
{
|
||||
try
|
||||
{
|
||||
LogMessage("CanPark", "Get - " + true);
|
||||
return true;
|
||||
var canPark = SharedResourcesWrapper.ProductName != TelescopeList.LX200CLASSIC;
|
||||
LogMessage("CanPark", "Get - " + canPark);
|
||||
return canPark;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -2289,17 +2290,8 @@ namespace ASCOM.Meade.net
|
||||
}
|
||||
else
|
||||
{
|
||||
LogMessage("Park", $"Calculating Park Alt Az");
|
||||
var siteLatitude = SiteLatitude;
|
||||
var parkAlt = AlignmentMode == AlignmentModes.algAltAz ? 0 : 90 - siteLatitude;
|
||||
var parkAz = siteLatitude >= 0 ? 180 : 0;
|
||||
|
||||
LogMessage("Park", $"Parking LX200 Classic");
|
||||
Tracking = false;
|
||||
|
||||
LogMessage("Park", $"Slewing to park position az:{parkAz} alt:{parkAlt}");
|
||||
SlewToAltAz(parkAz, parkAlt, false);
|
||||
LogMessage("Park", $"Arrived at park position");
|
||||
LogMessage("Park", $"LX200 Classic does not support parking");
|
||||
throw new NotImplementedException("Park");
|
||||
}
|
||||
|
||||
//Setting park to true before sending the park command as the Autostar and Audiostar stop serial communications once the park command has been issued.
|
||||
@@ -3307,6 +3299,12 @@ namespace ASCOM.Meade.net
|
||||
return isSlewing;
|
||||
}
|
||||
|
||||
if (result.Equals("[FF][FF][FF] [FF][FF][FF] "))
|
||||
{
|
||||
isSlewing = true;
|
||||
return isSlewing;
|
||||
}
|
||||
|
||||
////classic LX200 return bar with 32 chars. FF is contained from left to right when slewing
|
||||
//byte[] ba = Encoding.Default.GetBytes(result);
|
||||
////replace fill chars not belonging to a slew bar. Are there others? The bar character is a FF in hex.
|
||||
@@ -3668,7 +3666,7 @@ namespace ASCOM.Meade.net
|
||||
|
||||
rate = rate.Replace("+", string.Empty);
|
||||
|
||||
var rateDouble = double.Parse(rate);
|
||||
var rateDouble = double.Parse(rate, CultureInfo.InvariantCulture);
|
||||
|
||||
DriveRates result;
|
||||
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
<Settings>
|
||||
<AllowParallelTestExecution>True</AllowParallelTestExecution>
|
||||
<CopyReferencedAssembliesToWorkspace>True</CopyReferencedAssembliesToWorkspace>
|
||||
<EnableRDI>True</EnableRDI>
|
||||
<MetricsExclusionList>
|
||||
<Value>FocuserTestConsole\FocuserTestConsole.csproj</Value>
|
||||
<Value>TelescopeTestConsole\TelescopeTestConsole.csproj</Value>
|
||||
</MetricsExclusionList>
|
||||
<RdiConfigured>True</RdiConfigured>
|
||||
<SolutionConfigured>True</SolutionConfigured>
|
||||
</Settings>
|
||||
</SolutionConfiguration>
|
||||
Reference in New Issue
Block a user