tbf/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestMethod.cs

66 lines
1.5 KiB
C#

///
/// Copyright (c) 2013-2015 Sensus Metering Systems
/// Author: Milan Hanajík
///
using System;
using System.Collections.Generic;
using log4net;
using TBF.BenchControl;
namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod
{
public class TestMethod : ComponentBase, GenericDevices.ITestMethod
{
private static readonly ILog log = LogManager.GetLogger(typeof(TestMethod));
public override string ToString() { return string.Format("TestMethods.FlyingStartCollectionMethod({0})", Cfg.ToString(1)); }
readonly TestMethodCfg testMethodCfg;
public bool Evaluate(Entities.Test test)
{
TestParams tp = new TestParams();
foreach (var tstPrms in test.MoreParams)
{
if (tstPrms.CmpntName.Equals(Name))
{
tp.UpdateTestParams(tstPrms);
return tp.Evaluate;
}
}
return true;
}
public bool Publish(Entities.Test test)
{
TestParams tp = new TestParams();
foreach (var tstPrms in test.MoreParams)
{
if (tstPrms.CmpntName.Equals(Name))
{
tp.UpdateTestParams(tstPrms);
return tp.Publish;
}
}
return true;
}
public bool CanTest(Entities.MetersKind meters) { return meters == Entities.MetersKind.Single; }
public TestMethod()
{
}
public TestMethod(TestMethodCfg cfg)
: base(cfg)
{
testMethodCfg = cfg;
log.Debug(this.ToString());
}
public IList<Event> Execute(Entities.Test test)
{
return (new FlyingStartCollectionMethodSeq()).Execute(test, testMethodCfg.TestParams);
}
}
}