Added support for AtPark and Park

This commit is contained in:
2019-05-02 15:14:36 +01:00
parent 7225c2d70f
commit 76c88420ca
4 changed files with 68 additions and 4 deletions
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO.Ports;
using ASCOM;
using ASCOM.DeviceInterface;
@@ -33,6 +34,8 @@ namespace MeadeAutostar497.UnitTests
serialMock.Setup(x => x.CommandTerminated(It.IsAny<string>(), It.IsAny<string>())).Returns(() => _stringToRecieve);
serialMock.Setup(x => x.IsOpen).Returns(() => _isConnected);
//Todo inject the serialMock instead of using a singleton to increase code stability.
_telescopeController = TelescopeController.Instance;
_telescopeController.Connected = false;
_telescopeController.SerialPort = serialMock.Object;
@@ -474,5 +477,50 @@ namespace MeadeAutostar497.UnitTests
serialMock.Verify( x => x.Command(command), Times.Once);
}
[Test]
public void AtParkIsFalseByDefault()
{
_isConnected = true;
_telescopeController.Connected = true;
Assert.That( _telescopeController.AtPark, Is.False );
}
[Test]
public void AtParkIsTrueAfterParkingScope()
{
_isConnected = true;
_telescopeController.Connected = true;
_telescopeController.Park();
Assert.That(_telescopeController.AtPark, Is.True);
}
[Test]
public void Park_CallingParkSendsTheParkCommand()
{
_isConnected = true;
_telescopeController.Connected = true;
_telescopeController.Park();
serialMock.Verify( x => x.Command(":hP#"), Times.Once);
}
[Test]
public void Park_ParkingSecondTimeDoesNothing()
{
_isConnected = true;
_telescopeController.Connected = true;
_telescopeController.Park();
_telescopeController.Park();
serialMock.Verify(x => x.Command(":hP#"), Times.Once);
}
}
}