Files
DP44/DataPRO/StateMachine.Tests/.svn/pristine/5d/5dc772f86c78a71a2439d71bb05d821550e2c73b.svn-base

135 lines
4.2 KiB
Plaintext
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
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));
}
}
}