Everything works OK after serious changes:
- all components, componentCfg-s and parameter providers use base classes - less boilerplate code, simpler access to test/procedure parameters from code - CreateTestParams(test), CreateProcedureParams(procedure) methods added - TestBenchSim class is made static, it is not inheritted by any device anymore
This commit is contained in:
@@ -6,8 +6,8 @@ using TBF.Resources;
|
||||
|
||||
namespace TBF.UiControls
|
||||
{
|
||||
// /-----------\
|
||||
// / Component \
|
||||
// -----------
|
||||
// / Component \
|
||||
// |------------------------------
|
||||
// | param1 param2 param3 ...
|
||||
// Test1 |
|
||||
@@ -20,7 +20,7 @@ namespace TBF.UiControls
|
||||
bool showTestsColumn;
|
||||
BenchControl.Generic.IComponent cmpnt;
|
||||
|
||||
IList<IParamsProvider> testsParams;
|
||||
IList<IParamsProvider> testParamsProviders;
|
||||
|
||||
int paramsCount;
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace TBF.UiControls
|
||||
public TestParamsCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
testsParams = new List<IParamsProvider>();
|
||||
testParamsProviders = new List<IParamsProvider>();
|
||||
}
|
||||
|
||||
public TestParamsCtrl(ProcedureDlg parent, BenchControl.Generic.IComponent cmpnt, bool showTestsColumn)
|
||||
@@ -64,27 +64,18 @@ namespace TBF.UiControls
|
||||
/// For each test (with an appropriate method in case of ITestMethod-s)
|
||||
foreach (var test in parent.LoadedProcedure.Tests)
|
||||
{
|
||||
if (!(cmpnt is BenchControl.GenericDevices.ITestMethod) || test.Method == cmpnt.Cfg.Name)
|
||||
if ((cmpnt.Cfg.GetTestParams() != null) &&
|
||||
(!(cmpnt is BenchControl.GenericDevices.ITestMethod) || (test.Method == cmpnt.Cfg.Name)))
|
||||
{
|
||||
/// Load ComponentTest entity or create it if it does not exist
|
||||
IParamsProvider testParams = BenchControl.TbfComponents.GetTestParams(cmpnt, test);
|
||||
if (testParams != null)
|
||||
{
|
||||
if (sampleToCreateHeader == null) sampleToCreateHeader = testParams;
|
||||
}
|
||||
else
|
||||
{
|
||||
Entities.ComponentTest entity = new Entities.ComponentTest();
|
||||
entity.CmpntName = cmpnt.Cfg.Name;
|
||||
entity.Test = test;
|
||||
testParams = cmpnt.Cfg.Factory.GetTestParams(entity);
|
||||
}
|
||||
testsParams.Add(testParams);
|
||||
IParamsProvider testParams = cmpnt.Cfg.CreateTestParams(test);
|
||||
if (sampleToCreateHeader == null) sampleToCreateHeader = testParams;
|
||||
testParamsProviders.Add(testParams);
|
||||
}
|
||||
else
|
||||
{
|
||||
/// In case of ITestMethod: Insert null for a test without an appropriate method.
|
||||
testsParams.Add(null);
|
||||
testParamsProviders.Add(null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,9 +122,9 @@ namespace TBF.UiControls
|
||||
public void RedrawAll()
|
||||
{
|
||||
listViewEx.Items.Clear();
|
||||
for (int i = 0; i < testsParams.Count && i < parent.LoadedProcedure.Tests.Count; i++)
|
||||
for (int i = 0; i < testParamsProviders.Count && i < parent.LoadedProcedure.Tests.Count; i++)
|
||||
{
|
||||
DrawOne(testsParams[i], parent.LoadedProcedure.Tests[i].Name);
|
||||
DrawOne(testParamsProviders[i], parent.LoadedProcedure.Tests[i].Name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,12 +161,12 @@ namespace TBF.UiControls
|
||||
entity.Test = test;
|
||||
IParamsProvider testParams =
|
||||
new BenchControl.TestMethods.CombinedWithDetection.CombinedWithDetTestParams(entity, cmpnt.Cfg.Name, test);
|
||||
testsParams.Add(testParams);
|
||||
testParamsProviders.Add(testParams);
|
||||
DrawOne(testParams, test.Name);
|
||||
}
|
||||
else
|
||||
{
|
||||
testsParams.Add(null);
|
||||
testParamsProviders.Add(null);
|
||||
DrawOne(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user