/// /// Copyright (c) 2016 Sensus Metering Systems /// using System; using System.Collections.Generic; using log4net; using Config.Entities; namespace TBF.BenchControl.TestMethods.OuterLoop.End { public class Component : ComponentBase, GenericDevices.ITestMethod { private static readonly ILog log = LogManager.GetLogger(typeof(Component)); public override string ToString() { return string.Format("{0}({1})", this.GetType().Namespace.Substring(17), Cfg.ToString(1)); } public bool Evaluate(Test test) { return true; } public bool Publish(Test test) { return true; } public bool CanTest(MetersKind meters) { return meters == MetersKind.Single; } public Component() { } public Component(Generic.IComponentCfg cfg) : base(cfg) { log.Debug(this.ToString()); } public IList Execute(Test test, bool outerLoopMode, int outerLoopCounter) { IList events = new List(); if (!outerLoopMode) { events.Add(Event.Error); /// Outer loops mode expected } else if (outerLoopCounter < test.Repeats) { events.Add(Event.OuterLoopNext); } else { events.Add(Event.OuterLoopEnd); } return events; } } }