///
/// 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
{
///
/// True = use result of the test with this method when evaluating the final result
///
bool Evaluate(Test test);
///
/// True = use result of the test with this method when publishing (printing, saving) results
///
bool Publish(Test test);
///
/// 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);
///
/// Execute the test method
///
///
/// false = normal eecution, true = Run the test only once and use 'outerLoopCounter'
/// External test repeats counter
/// Event(s) indicating the result of execution
IList Execute(Test test, bool outerLoopMode, int outerLoopCounter);
}
}