Refactoring : TestBenchFramework --> TBF ver. 2.18.789
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
||||
///
|
||||
namespace TBF.Boxes
|
||||
{
|
||||
public class DoubleBox
|
||||
{
|
||||
/// Box value
|
||||
private double val;
|
||||
public double Val
|
||||
{
|
||||
get { return (valid ? val : 0); }
|
||||
set { val = value; valid = true; }
|
||||
}
|
||||
|
||||
/// Box name
|
||||
string name;
|
||||
public string Name
|
||||
{
|
||||
get { return name; }
|
||||
set { name = value; }
|
||||
}
|
||||
|
||||
/// Validity flag: true = the box value is valid
|
||||
private bool valid = false;
|
||||
public bool Valid
|
||||
{
|
||||
get { return valid; }
|
||||
}
|
||||
|
||||
/// <summary> Parameterless constructor </summary>
|
||||
public DoubleBox()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary> Constructor that initializes the value </summary>
|
||||
public DoubleBox(double val)
|
||||
{
|
||||
this.Val = val;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clear the box value and the valid flag
|
||||
/// </summary>
|
||||
public void Clear()
|
||||
{
|
||||
val = 0;
|
||||
valid = false;
|
||||
}
|
||||
|
||||
///
|
||||
/// Specifies a conversion to a string.
|
||||
/// In the most complex case the conversion is:
|
||||
/// string.Format(FormatEx, val.ToString(Format))
|
||||
/// If the value is invalid, the conversion result is 'FormatInvalid'.
|
||||
///
|
||||
public string Format = null;
|
||||
public string FormatEx = "{0}";
|
||||
public string FormatInvalid = "---";
|
||||
public double Factor = 1.0;
|
||||
public double LimitLo = double.MinValue;
|
||||
public double LimitHi = double.MaxValue;
|
||||
|
||||
/// <summary>
|
||||
/// Converts the box value to a string representation
|
||||
/// </summary>
|
||||
public override string ToString()
|
||||
{
|
||||
if (!valid)
|
||||
{
|
||||
return FormatInvalid;
|
||||
}
|
||||
else if (Format == null)
|
||||
{
|
||||
return string.Format(FormatEx, Val * Factor);
|
||||
}
|
||||
else
|
||||
{
|
||||
return string.Format(FormatEx, (Val * Factor).ToString(Format));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Validate the string representation of the box value
|
||||
/// </summary>
|
||||
/// <param name="strVal">String representation of the parameter</param>
|
||||
/// <returns>true = string is OK, false = string is wrong (see 'message')</returns>
|
||||
public bool ValidateParam(string strVal)
|
||||
{
|
||||
float dummy;
|
||||
return Utils.TryParseSFloat(strVal, out dummy) &&
|
||||
((dummy / Factor) >= LimitLo) &&
|
||||
((dummy / Factor) <= LimitHi);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update the parameter from a string
|
||||
/// </summary>
|
||||
/// <param name="strVal">String representation of the box value</param>
|
||||
public void UpdateParam(string strVal)
|
||||
{
|
||||
try
|
||||
{
|
||||
Val = (double)Utils.ParseSFloat(strVal) / Factor;
|
||||
}
|
||||
catch { };
|
||||
}
|
||||
|
||||
public DoubleBox Clone()
|
||||
{
|
||||
DoubleBox newDoubleBox = new DoubleBox();
|
||||
newDoubleBox.name = name;
|
||||
newDoubleBox.val = val;
|
||||
newDoubleBox.valid = valid;
|
||||
newDoubleBox.Format = Format;
|
||||
newDoubleBox.FormatInvalid = FormatInvalid;
|
||||
newDoubleBox.FormatEx = FormatEx;
|
||||
newDoubleBox.Factor = Factor;
|
||||
return newDoubleBox;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user