tbf/TestBenchFramework/BenchControl/TestMethods/OuterLoop/End/Component.cs

52 lines
1.1 KiB
C#

///
/// 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 CanTest(MetersKind meters) { return true; }
public Component()
{
}
public Component(Generic.IComponentCfg cfg)
: base(cfg)
{
log.Debug(this.ToString());
}
public IList<Event> Execute(Test test, bool outerLoopMode, int outerLoopCounter)
{
IList<Event> events = new List<Event>();
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;
}
}
}