tbf/TBF/Rig/GenericDevices/ITestMethod.cs

49 lines
1.9 KiB
C#

///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System.Collections.Generic;
using Common;
using Config.Entities;
namespace TBF.Rig.GenericDevices
{
public interface ITestMethod : TBF.Rig.Generic.IComponent
{
/// <summary>
/// Check compatibility of the method with the watermeters
/// </summary>
/// <param name="meters">Type of watermeters</param>
/// <returns>true when the watermeters can be tested by this method</returns>
FlowType MethodFlowType { get; }
/// <summary>
/// Check compatibility of the method with the watermeters
/// </summary>
/// <param name="meters">Type of watermeters</param>
/// <returns>true when the watermeters can be tested by this method</returns>
bool CanTest(MetersKind meters);
/// <summary>
/// Check capabilities of devces in the output path required for this test method
/// </summary>
/// <param name="devices">Devices</param>
/// <returns>true when capabilities of devices are OK</returns>
bool CheckDeviceCaps(Test test, OutputPath devices, out string message);
/// <summary>
/// Return true when test method requires start/end test transition execution
/// </summary>
/// <returns>true when transitions shold be executed</returns>
bool DoTransitions();
/// <summary>
/// Execute the test method
/// </summary>
/// <param name="test">Test entity</param>
/// <param name="repetitionNr">Test repetition number (1 .. test.Repeats)</param>
/// <param name="isLastRepetition">true when this is the last repetition count, or a single test is run, or ourterLoop Mode is active</param>
/// <returns>Event(s) indicating the result of execution</returns>
IList<Event> Execute(Test test, int repetitionNr, bool isLastRepetition);
}
}