//Copyright 2012-2019 Keysight Technologies
|
//
|
//Licensed under the Apache License, Version 2.0 (the "License");
|
//you may not use this file except in compliance with the License.
|
//You may obtain a copy of the License at
|
//
|
//http://www.apache.org/licenses/LICENSE-2.0
|
//
|
//Unless required by applicable law or agreed to in writing, software
|
//distributed under the License is distributed on an "AS IS" BASIS,
|
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
//See the License for the specific language governing permissions and
|
//limitations under the License.
|
using System;
|
using System.ComponentModel;
|
using System.Globalization;
|
|
// This example defines a "Bin" column that can be shown in the test plan editor.
|
namespace OpenTap.Plugins.PluginDevelopment
|
{
|
public enum Bin
|
{
|
[Display("NotSet", Description: "The bin has not been set.")] NotSet,
|
[Display("Bin 1", Description: "Bin1 set.")] Bin1,
|
[Display("Bin 2", Description: "Bin2 set.")] Bin2,
|
[Display("Bin 3", Description: "Bin3 set.")] Bin3
|
}
|
|
[Display("Column Display Example",
|
Groups: new[] { "Examples", "Plugin Development", "Attributes" },
|
Description: "Shows how an test step setting can be added as a column to the test plan editor.")]
|
public class ColumnDisplayAttributeExample : TestStep
|
{
|
private static readonly Random RandomSeed = new Random();
|
|
[ColumnDisplayName("Bin")]
|
[Browsable(true)]
|
public Bin OutBin { get; private set; }
|
|
public override void Run()
|
{
|
var v = Math.Abs(Math.Sin(RandomSeed.NextDouble()));
|
Log.Info("Value={0}", v.ToString(CultureInfo.InvariantCulture));
|
if (v < 0.2)
|
{
|
UpgradeVerdict(Verdict.Fail);
|
OutBin = Bin.NotSet;
|
}
|
else
|
{
|
if (v < 0.4)
|
{
|
OutBin = Bin.Bin1;
|
}
|
else if (v < 0.6)
|
{
|
OutBin = Bin.Bin2;
|
}
|
else
|
{
|
OutBin = Bin.Bin3;
|
}
|
UpgradeVerdict(Verdict.Pass);
|
}
|
}
|
}
|
}
|