135 lines
4.2 KiB
C#
135 lines
4.2 KiB
C#
using DTS.DASLib.Service.StateMachine;
|
|
using NSubstitute;
|
|
using NUnit.Framework;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace StateMachine.Tests
|
|
{
|
|
[TestFixture]
|
|
class HardwareDiscoveryStartShould
|
|
{
|
|
[Test]
|
|
public void State_ShouldBeHardwareDiscoveryStart()
|
|
{
|
|
//Arrange
|
|
var sut = new HardwareDiscoveryStart();
|
|
|
|
//Act & Assert
|
|
Assert.That(State.HardwareDiscoveryStart, Is.EqualTo(sut.State));
|
|
}
|
|
|
|
[Test]
|
|
public void StateSelector_Should_ReturnConfigure()
|
|
{
|
|
//Arrange
|
|
var sut = new HardwareDiscoveryStart();
|
|
var status = sut.Status;
|
|
status.HardwareDiscoveryParams.ProceedWhenDone = true;
|
|
|
|
status.HardwareDiscoveryStatusInfo.AllDASFound = true;
|
|
status.HardwareDiscoveryParams.RequireAllDASFound = true;
|
|
|
|
//Act
|
|
var dasState = sut.StateSelector();
|
|
|
|
//Assert
|
|
Assert.That(dasState.State, Is.EqualTo(State.Configure));
|
|
|
|
//Arrange
|
|
status.HardwareDiscoveryParams.ProceedWhenDone = true;
|
|
|
|
status.HardwareDiscoveryStatusInfo.AllDASFound = true;
|
|
status.HardwareDiscoveryParams.RequireAllDASFound = false;
|
|
|
|
//Act
|
|
dasState = sut.StateSelector();
|
|
|
|
//Assert
|
|
Assert.That(dasState.State, Is.EqualTo(State.Configure));
|
|
|
|
//Arrange
|
|
status.HardwareDiscoveryParams.ProceedWhenDone = true;
|
|
|
|
status.HardwareDiscoveryStatusInfo.AllDASFound = false;
|
|
status.HardwareDiscoveryParams.RequireAllDASFound = false;
|
|
|
|
//Act
|
|
dasState = sut.StateSelector();
|
|
|
|
//Assert
|
|
Assert.That(dasState.State, Is.EqualTo(State.Configure));
|
|
}
|
|
|
|
[Test]
|
|
public void StateSelector_Should_ReturnDownload()
|
|
{
|
|
//Arrange
|
|
var sut = new HardwareDiscoveryStart();
|
|
var status = sut.Status;
|
|
status.HardwareDiscoveryParams.ProceedWhenDone = true;
|
|
|
|
status.HardwareDiscoveryStatusInfo.AllDASFound = true;
|
|
status.HardwareDiscoveryParams.RequireAllDASFound = true;
|
|
|
|
status.HardwareDiscoveryParams.GoToDownload = true;
|
|
|
|
//Act
|
|
var dasState = sut.StateSelector();
|
|
//Assert
|
|
Assert.That(dasState.State, Is.EqualTo(State.Download));
|
|
}
|
|
|
|
[Test]
|
|
public void StateSelector_Should_ReturnArm()
|
|
{
|
|
//Arrange
|
|
var sut = new HardwareDiscoveryStart();
|
|
var status = sut.Status;
|
|
|
|
status.HardwareDiscoveryParams.ProceedWhenDone = true;
|
|
//Cannot Configure
|
|
status.HardwareDiscoveryStatusInfo.AllDASFound = false;
|
|
status.HardwareDiscoveryParams.RequireAllDASFound = true;
|
|
|
|
//Cannot Download
|
|
status.HardwareDiscoveryParams.GoToDownload = false;
|
|
|
|
//Can Arm
|
|
status.HardwareDiscoveryStatusInfo.SomeUnitsInArmState = true;
|
|
|
|
//Act
|
|
var dasState = sut.StateSelector();
|
|
// Assert
|
|
Assert.That(dasState.State, Is.EqualTo(State.Arm));
|
|
}
|
|
|
|
[Test]
|
|
public void StateSelector_Should_ReturnHardwareDiscovery()
|
|
{
|
|
//Arrange
|
|
var sut = new HardwareDiscoveryStart();
|
|
var status = sut.Status;
|
|
|
|
status.HardwareDiscoveryParams.ProceedWhenDone = true;
|
|
//Cannot Configure
|
|
status.HardwareDiscoveryStatusInfo.AllDASFound = false;
|
|
status.HardwareDiscoveryParams.RequireAllDASFound = true;
|
|
|
|
//Cannot Download
|
|
status.HardwareDiscoveryParams.GoToDownload = false;
|
|
|
|
//Can Arm
|
|
status.HardwareDiscoveryStatusInfo.SomeUnitsInArmState = false;
|
|
|
|
//Act
|
|
var dasState = sut.StateSelector();
|
|
// Assert
|
|
Assert.That(dasState.State, Is.EqualTo(State.HardwareDiscovery));
|
|
}
|
|
}
|
|
}
|