Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2846e9f719 | |||
| a7904d7485 | |||
| 12c11b4987 | |||
| 07569b146e | |||
| 112fdf0bb9 | |||
| 73e8e8ffe8 | |||
| 34a145765b |
@@ -1197,5 +1197,131 @@ namespace Meade.net.Telescope.UnitTests
|
|||||||
|
|
||||||
Assert.That(excpetion.Method, Is.EqualTo("Unpark"));
|
Assert.That(excpetion.Method, Is.EqualTo("Unpark"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void SiteLatitude_Get_WhenNotConnected_ThenThrowsException()
|
||||||
|
{
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497);
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497_31EE);
|
||||||
|
|
||||||
|
var exception = Assert.Throws<NotConnectedException>(() => { var result = _telescope.SiteLatitude; });
|
||||||
|
Assert.That(exception.Message, Is.EqualTo("Not connected to telescope when trying to execute: SiteLatitude Get"));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void SiteLatitude_Get_WhenConnected_ThenRetrievesAndReturnsExpectedValue()
|
||||||
|
{
|
||||||
|
var siteLatitudeString = "testLatString";
|
||||||
|
var siteLatitudeValue = 123.45;
|
||||||
|
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497);
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497_31EE);
|
||||||
|
_telescope.Connected = true;
|
||||||
|
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.SendString(":Gt#")).Returns(siteLatitudeString);
|
||||||
|
_utilMock.Setup(x => x.DMSToDegrees(siteLatitudeString)).Returns(siteLatitudeValue);
|
||||||
|
|
||||||
|
var result = _telescope.SiteLatitude;
|
||||||
|
|
||||||
|
_sharedResourcesWrapperMock.Verify( x => x.SendString(":Gt#"), Times.Once);
|
||||||
|
|
||||||
|
Assert.That(result,Is.EqualTo(siteLatitudeValue));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void SiteLatitude_Set_WhenNotConnected_ThenThrowsException()
|
||||||
|
{
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497);
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497_31EE);
|
||||||
|
|
||||||
|
var exception = Assert.Throws<NotConnectedException>(() => { _telescope.SiteLatitude = 123.45; });
|
||||||
|
Assert.That(exception.Message, Is.EqualTo("Not connected to telescope when trying to execute: SiteLatitude Set"));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void SiteLatitude_Set_WhenConnectedAndLatitudeIsGreaterThan90_ThenThrowsException()
|
||||||
|
{
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497);
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497_31EE);
|
||||||
|
_telescope.Connected = true;
|
||||||
|
|
||||||
|
var exception = Assert.Throws<InvalidValueException>(() => { _telescope.SiteLatitude = 90.01; });
|
||||||
|
Assert.That(exception.Message, Is.EqualTo("Latitude cannot be greater than 90 degrees."));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void SiteLatitude_Set_WhenConnectedAndLatitudeIsLessThanNegative90_ThenThrowsException()
|
||||||
|
{
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497);
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497_31EE);
|
||||||
|
_telescope.Connected = true;
|
||||||
|
|
||||||
|
var exception = Assert.Throws<InvalidValueException>(() => { _telescope.SiteLatitude = -90.01; });
|
||||||
|
Assert.That(exception.Message, Is.EqualTo("Latitude cannot be less than -90 degrees."));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase(-10.5)]
|
||||||
|
[TestCase(20.75)]
|
||||||
|
public void SiteLatitude_Set_WhenValueSetAndTelescopRejects_ThenExceptionThrown(double siteLatitude)
|
||||||
|
{
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497);
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497_31EE);
|
||||||
|
_telescope.Connected = true;
|
||||||
|
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.SendChar(It.IsAny<string>())).Returns("0");
|
||||||
|
|
||||||
|
var exception = Assert.Throws<ASCOM.InvalidOperationException>(() => { _telescope.SiteLatitude = siteLatitude; });
|
||||||
|
|
||||||
|
Assert.That(exception.Message, Is.EqualTo("Failed to set site latitude."));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase(-10.5, ":St-10*30#")]
|
||||||
|
[TestCase(20.75, ":St+20*45#")]
|
||||||
|
public void SiteLatitude_Set_WhenValidValues_ThenValueSentToTelescope(double siteLatitude, string expectedCommand)
|
||||||
|
{
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497);
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497_31EE);
|
||||||
|
_telescope.Connected = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.SendChar(expectedCommand)).Returns("1");
|
||||||
|
|
||||||
|
_telescope.SiteLatitude = siteLatitude;
|
||||||
|
|
||||||
|
_sharedResourcesWrapperMock.Verify(x => x.SendChar(expectedCommand), Times.Once);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void SiteLongitude_Get_WhenNotConnected_ThenThrowsException()
|
||||||
|
{
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497);
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497_31EE);
|
||||||
|
|
||||||
|
var exception = Assert.Throws<NotConnectedException>(() => { var result = _telescope.SiteLongitude; });
|
||||||
|
Assert.That(exception.Message, Is.EqualTo("Not connected to telescope when trying to execute: SiteLongitude Get"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//todo figure out if this is right. don't feel right to me
|
||||||
|
[TestCase("5", 5, -5)]
|
||||||
|
[TestCase("-5", -5, 5)]
|
||||||
|
[TestCase("185", 185, 175)]
|
||||||
|
[TestCase("350", 350, 10)]
|
||||||
|
public void SiteLongitude_Get_WhenConnected_ThenRetrivesAndReturnsExpectedValue(string telescopelongitudeString, double telescopeLongitudeValue, double expectedResult)
|
||||||
|
{
|
||||||
|
var telescopeLongitude = "testLongitude";
|
||||||
|
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497);
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => _sharedResourcesWrapperMock.Object.AUTOSTAR497_31EE);
|
||||||
|
_telescope.Connected = true;
|
||||||
|
|
||||||
|
_sharedResourcesWrapperMock.Setup(x => x.SendString(":Gg#")).Returns(telescopeLongitude);
|
||||||
|
_utilMock.Setup(x => x.DMSToDegrees(telescopeLongitude)).Returns(telescopeLongitudeValue);
|
||||||
|
|
||||||
|
var result = _telescope.SiteLongitude;
|
||||||
|
|
||||||
|
Assert.That(result, Is.EqualTo(expectedResult));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1234,10 +1234,13 @@ namespace ASCOM.Meade.net
|
|||||||
throw new InvalidValueException("Latitude cannot be less than -90 degrees.");
|
throw new InvalidValueException("Latitude cannot be less than -90 degrees.");
|
||||||
|
|
||||||
string sign = value > 0 ? "+" : "-";
|
string sign = value > 0 ? "+" : "-";
|
||||||
int d = Convert.ToInt32(Math.Floor(value));
|
|
||||||
int m = Convert.ToInt32(60 * (value - d));
|
|
||||||
|
|
||||||
var result = _sharedResourcesWrapper.SendChar($":St{sign}{d:00}*{m:00}#");
|
var absValue = Math.Abs(value);
|
||||||
|
int d = Convert.ToInt32(Math.Floor(absValue));
|
||||||
|
int m = Convert.ToInt32(60 * (absValue - d));
|
||||||
|
var commandString = $":St{sign}{d:00}*{m:00}#";
|
||||||
|
|
||||||
|
var result = _sharedResourcesWrapper.SendChar(commandString);
|
||||||
//:StsDD*MM#
|
//:StsDD*MM#
|
||||||
//Sets the current site latitude to sDD* MM#
|
//Sets the current site latitude to sDD* MM#
|
||||||
//Returns:
|
//Returns:
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
<property name="solution.directory" value="${directory::get-current-directory()}"/>
|
<property name="solution.directory" value="${directory::get-current-directory()}"/>
|
||||||
<property name="build.output.directory" value="${solution.directory}\${outputDir}"/>
|
<property name="build.output.directory" value="${solution.directory}\${outputDir}"/>
|
||||||
|
<property name="Version.full" value="${Version.full}"/>
|
||||||
|
|
||||||
<target name="setup">
|
<target name="setup">
|
||||||
<delete dir="${build.output.directory}"/>
|
<delete dir="${build.output.directory}"/>
|
||||||
@@ -32,5 +33,11 @@
|
|||||||
<include name="**/*" />
|
<include name="**/*" />
|
||||||
</fileset>
|
</fileset>
|
||||||
</copy>
|
</copy>
|
||||||
|
|
||||||
|
<foreach item="File" in="${build.output.directory}" property="fileName">
|
||||||
|
<if test="${string::to-lower(path::get-extension(fileName)) == '.msi'}">
|
||||||
|
<move file="${fileName}" tofile="${path::combine(path::get-directory-name(fileName), path::get-file-name-without-extension(fileName) + '${Version.full}.msi')}" />
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
</target>
|
</target>
|
||||||
</project>
|
</project>
|
||||||
Reference in New Issue
Block a user