/// /// Copyright (c) 2013-2016 Sensus Metering Systems /// using System; using System.Collections.Generic; using log4net; using Common; using Config.Entities; using TBF.Rig; using TBF.Rig.Sequences; using TBF.UiBridge; namespace TBF.Rig.TestMethods.LeakTest { public class TestMethod : ComponentBase, GenericDevices.ITestMethod { private static readonly ILog log = LogManager.GetLogger(typeof(TestMethod)); public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); } public bool CanTest(MetersKind meters) { return true; } public bool DoTransitions() { return true; } readonly TestMethodCfg testMethodCfg; public TestMethod() { } public TestMethod(Generic.IComponentCfg cfg) : base(cfg) { testMethodCfg = cfg as TestMethodCfg; } public override void Initialize() { log.FatalFormat("{0} initialized: {1}", Name, this); } public IList Execute(Test test, int repetNr, bool isLastRepetition) { if (DebugLevel == DebugMode.Normal) { return (new LeakTestSeq()).Execute(test, repetNr, isLastRepetition, testMethodCfg.TestParams); } else { /// DebugLevel == DebugMode.Simulate (new LeakTestSeq()).MakeSimulatedTrivial(test, repetNr, test.Part); Bridge.OnTestProgress(this, new TestProgressEventArgs(test, 1, Progress.Completed)); Bridge.OnTestCompleted(this, new TestCompletedEventArgs(test.Name, ProcessData.BatchRslts.GetTestRslt(Results.Utils.GetTestName(test.Name, 1, 1), 0))); return new List { Event.Done }; } } } }