///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System.Collections.Generic;
using Config.Entities;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.GenericDevices
{
public interface ITestMethod : IComponent
{
///
/// Check compatibility of the method with the watermeters
///
/// Type of watermeters
/// true when the watermeters can be tested by this method
bool CanTest(MetersKind meters);
///
/// Return true when test method requires start/end test transition execution
///
/// true when transitions shold be executed
bool DoTransitions();
///
/// Execute the test method
///
/// Test entity
/// Test repetition number (1 .. test.Repeats)
/// true when this is the last repetition count, or a single test is run, or ourterLoop Mode is active
/// Event(s) indicating the result of execution
IList Execute(Test test, int repetitionNr, bool isLastRepetition);
}
}