/// /// 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 { /// /// 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); /// /// Check capabilities of devces in the output path required for this test method /// /// Devices /// true when capabilities of devices are OK bool CheckDeviceCaps(Test test, OutputPath devices, out string message); /// /// 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); } }