49 lines
1.9 KiB
C#
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);
|
|
}
|
|
}
|