Files
DP44/DataPRO/StateMachine.Tests/States/HardwareDiscoveryStartShould.cs
2026-04-17 14:55:32 -04:00

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));
}
}
}