Example #1
0
 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();
 }
Example #2
0
 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();
 }
Example #3
0
        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();
        }
Example #4
0
 protected Pv2ParamType(string paramName, string description, string groupName, Pv2ParamFlags flags)
 {
     Flags = flags;
     ParamName = paramName;
     GroupName = groupName;
     Description = description;
     _fullName = null;
 }
Example #5
0
 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();
 }
Example #6
0
 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();
 }
Example #7
0
 public Pv2FlagsParamType(string paramName, string description, string groupName, string trueTitle = "On",
                          string falseTitle = "Off", Pv2ParamFlags flags = Pv2ParamFlags.NoFlags, params (string, bool)[] items) :
Example #8
0
 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);
 }
Example #9
0
        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);
            }
        }
Example #10
0
        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);
            }
        }
Example #11
0
 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];
Example #12
0
        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);
        }
Example #13
0
        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);
        }
Example #14
0
        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);
            }
        }
Example #15
0
 public Pv2ParamTypeUnknown(string paramName, string description, string groupName,
                            Pv2ParamFlags flags = Pv2ParamFlags.NoFlags) : base(paramName, description, groupName, flags)
 {
 }