public Pv2DoubleParamType(string paramName, string description, string groupName, string formatString, string units, double min = double.MinValue, double max = double.MaxValue, double defaultValue = 0, Pv2ParamFlags flags = Pv2ParamFlags.NoFlags) : base(paramName, description, groupName, formatString, units, min, max, defaultValue, flags) { ValidateSize(); }
public Pv2FloatParamType(string paramName, string description, string groupName, string formatString, string units, float min = float.MinValue, float max = float.MaxValue, float defaultValue = 0, Pv2ParamFlags flags = Pv2ParamFlags.NoFlags) : base(paramName, description, groupName, formatString, units, min, max, defaultValue, flags) { ValidateSize(); }
public Pv2EnumParamType(string paramName, string description, string groupName, string defaultValue, Pv2ParamFlags flags = Pv2ParamFlags.NoFlags, params string[] items) : base(paramName, description, groupName, defaultValue, flags) { foreach (var item in items.GroupBy(_ => _)) { if (item.Count() > 1) { throw new Exception($"Enum items '{item.Key}' not unique"); } } if (items.Any(_ => _.IsNullOrWhiteSpace())) { throw new Exception("Enum items contain null or white space item"); } if (items.Any(_ => _ == DefaultValue) == false) { throw new Exception($"Items doesn't contain default value '{defaultValue}'"); } _list = new List <string>(items.Length); for (uint i = 0; i < items.Length; i++) { if (DefaultValue == items[i]) { _defaultIndex = i; } _list.Add(items[i]); } ValidateSize(); }
protected Pv2ParamType(string paramName, string description, string groupName, Pv2ParamFlags flags) { Flags = flags; ParamName = paramName; GroupName = groupName; Description = description; _fullName = null; }
public Pv2StringParamType(string paramName, string description, string groupName, string defaultValue, uint maxLength = 200, Pv2ParamFlags flags = Pv2ParamFlags.NoFlags) : base(paramName, description, groupName, defaultValue, flags) { MaxLength = maxLength; if (MaxLength <= 0) { throw new ArgumentOutOfRangeException(nameof(maxLength)); } ValidateSize(); }
public Pv2BoolParamType(string paramName, string description, string groupName, bool defaultValue = false, string trueString = "On", string falseString = "Off", Pv2ParamFlags flags = Pv2ParamFlags.NoFlags) : base( paramName, description, groupName, defaultValue, flags) { TrueString = trueString; FalseString = falseString; ValidateSize(); }
public Pv2FlagsParamType(string paramName, string description, string groupName, string trueTitle = "On", string falseTitle = "Off", Pv2ParamFlags flags = Pv2ParamFlags.NoFlags, params (string, bool)[] items) :
protected Pv2DigitParamType(string paramName, string description, string groupName, string formatString, string units, TValue min, TValue max, TValue defaultValue, Pv2ParamFlags flags) : base(paramName, description, groupName, defaultValue, flags) { FormatString = formatString; Units = units; Min = min; Max = max; if (Max.CompareTo(Min) < 0) { throw new ArgumentException($"Max < Min {Max} <= {Min}"); } Validate(DefaultValue); }
public void TestPv2DoubleParamType(string paramName, string description, string Gr1, string formatString, string units, double min, double max, double defaultValue, Pv2ParamFlags flags = Pv2ParamFlags.NoFlags) { SpanTestHelper.SerializeDeserializeTestBegin(_output.WriteLine); var random = new Random(); var type = new Pv2DoubleParamType(paramName, description, Gr1, formatString, units, min, max, defaultValue, flags); ValidateParamType <double, Pv2DoubleParamType, Pv2DoubleParamValue>(type, _output.WriteLine); ValidateParamValue <double, Pv2DoubleParamType, Pv2DoubleParamValue>(type, type.Max, _output.WriteLine); ValidateParamValue <double, Pv2DoubleParamType, Pv2DoubleParamValue>(type, type.Min, _output.WriteLine); ValidateParamValue <double, Pv2DoubleParamType, Pv2DoubleParamValue>(type, type.DefaultValue, _output.WriteLine); for (var i = 0; i < 10; i++) { var realValue = type.Min + Math.Abs(type.Max - type.Min) * random.NextDouble(); ValidateParamValue <double, Pv2DoubleParamType, Pv2DoubleParamValue>(type, realValue, _output.WriteLine); } }
public void TestPv2IntParamType(string paramName, string description, string Gr1, string formatString, string units, int min = int.MinValue, int max = int.MaxValue, int defaultValue = 0, Pv2ParamFlags flags = Pv2ParamFlags.NoFlags) { SpanTestHelper.SerializeDeserializeTestBegin(_output.WriteLine); var random = new Random(); var type = new Pv2IntParamType(paramName, description, Gr1, formatString, units, min, max, defaultValue, flags); ValidateParamType <int, Pv2IntParamType, Pv2IntParamValue>(type, _output.WriteLine); ValidateParamValue <int, Pv2IntParamType, Pv2IntParamValue>(type, type.Max, _output.WriteLine); ValidateParamValue <int, Pv2IntParamType, Pv2IntParamValue>(type, type.Min, _output.WriteLine); ValidateParamValue <int, Pv2IntParamType, Pv2IntParamValue>(type, type.DefaultValue, _output.WriteLine); for (var i = 0; i < 10; i++) { var realValue = random.Next(type.Min, type.Max); ValidateParamValue <int, Pv2IntParamType, Pv2IntParamValue>(type, realValue, _output.WriteLine); } }
public void TestPv2FlagsParamType(string paramName, string description, string groupName, string trueTitle, string falseTitle, Pv2ParamFlags flags) { SpanTestHelper.SerializeDeserializeTestBegin(_output.WriteLine); var size = new Random().Next(5, 10); var items = new (string, bool)[size];
public void TestPv2BoolParamType(string paramName, string description, string @group, bool defaultValue, string trueString, string falseString, Pv2ParamFlags flags) { SpanTestHelper.SerializeDeserializeTestBegin(_output.WriteLine); var type = new Pv2BoolParamType(paramName, description, @group, defaultValue, trueString, falseString, flags); ValidateParamType <bool, Pv2BoolParamType, Pv2BoolParamValue>(type, _output.WriteLine); ValidateParamValue <bool, Pv2BoolParamType, Pv2BoolParamValue>(type, true, _output.WriteLine); ValidateParamValue <bool, Pv2BoolParamType, Pv2BoolParamValue>(type, false, _output.WriteLine); }
public void TestPv2EnumParamValue(string paramName, string description, string @group, string defaultValue, Pv2ParamFlags flags, string[] items) { SpanTestHelper.SerializeDeserializeTestBegin(_output.WriteLine); var type = new Pv2EnumParamType(paramName, description, @group, defaultValue, flags, items); ValidateParamType <string, Pv2EnumParamType, Pv2EnumParamValue>(type, _output.WriteLine); ValidateParamValue <string, Pv2EnumParamType, Pv2EnumParamValue>(type, type.DefaultValue, _output.WriteLine); ValidateParamValue <string, Pv2EnumParamType, Pv2EnumParamValue>(type, "item1", _output.WriteLine); }
public void TestPv2StringParamType(string paramName, string description, string @group, string defaultValue, uint maxLength, Pv2ParamFlags flags = Pv2ParamFlags.NoFlags) { SpanTestHelper.SerializeDeserializeTestBegin(_output.WriteLine); var random = new Random(); var type = new Pv2StringParamType(paramName, description, @group, defaultValue, maxLength, flags); ValidateParamType <string, Pv2StringParamType, Pv2StringParamValue>(type, _output.WriteLine); ValidateParamValue <string, Pv2StringParamType, Pv2StringParamValue>(type, string.Empty.LeftMargin((int)type.MaxLength), _output.WriteLine); ValidateParamValue <string, Pv2StringParamType, Pv2StringParamValue>(type, string.Empty, _output.WriteLine); ValidateParamValue <string, Pv2StringParamType, Pv2StringParamValue>(type, type.DefaultValue, _output.WriteLine); for (var i = 0; i < 10; i++) { var realValue = random.Next().ToString(); ValidateParamValue <string, Pv2StringParamType, Pv2StringParamValue>(type, realValue, _output.WriteLine); } }
public Pv2ParamTypeUnknown(string paramName, string description, string groupName, Pv2ParamFlags flags = Pv2ParamFlags.NoFlags) : base(paramName, description, groupName, flags) { }