Ejemplo n.º 1
0
 private void validate(Averaging <int, double> averaging, ObservableCollection <int> items)
 {
     if (items.Count > 0)
     {
         Assert.AreEqual(averaging.Value, items.Average());
     }
     else
     {
         Assert.AreEqual(averaging.Value, double.NaN);
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="averaging"></param>
 /// <param name="countOfPool"></param>
 /// <param name="isPreInit"></param>
 public Average(Averaging averaging, int countOfPool = 10, bool isPreInit = false)
 {
     this.averaging = averaging;
     if (countOfPool < 1)
     {
         throw new Exception("Average can`t have " + countOfPool.ToString() + " element. Must be greater than 0!");
     }
     maxCount = countOfPool;
     elements = new List <T>(countOfPool);
     if (isPreInit)
     {
         for (int i = 0; i < countOfPool; i++)
         {
             elements.Add(default);
Ejemplo n.º 3
0
 public void Set(PlotAttribute Other)
 {
     this.TraceParameter   = Other.TraceParameter;
     this.AveragingType    = Other.AveragingType;
     this.Type             = Other.Type;
     this.WindowWidth      = Other.WindowWidth;
     this.ModuloEnabled    = Other.ModuloEnabled;
     this.ModuloValue      = Other.ModuloValue;
     this.MinEnabled       = Other.MinEnabled;
     this.MinValue         = Other.MinValue;
     this.MaxEnabled       = Other.MaxEnabled;
     this.MaxValue         = Other.MaxValue;
     this.UseY2Axis        = Other.UseY2Axis;
     this.ShowPoints       = Other.ShowPoints;
     this.ShowLines        = Other.ShowLines;
     this.ScaleData        = Other.ScaleData;
     this.ScaleDataCommand = Other.ScaleDataCommand;
 }
Ejemplo n.º 4
0
 public override string ToString()
 {
     return($"{(UseY2Axis ? "Y2" : "Y")}: {TraceParameter.Name} -> {AveragingType}{(AveragingType != Averaging.Raw ? $" ({WindowWidth})" : "")}{(ModuloEnabled ? $", Modulo: {ModuloValue}" : "")}");
 }
Ejemplo n.º 5
0
        private void test(int[] values)
        {
            string testNum  = string.Empty;
            int    index    = 0;
            int    value    = 0;
            int    indexOld = 0;
            int    indexNew = 0;

            ObservableCollection <int> items;
            Averaging <int, double>    averaging;

            try
            {
                trace(testNum = "1", values, index, value, indexOld, indexNew);
                items         = getObservableCollection(values);
                averaging     = items.Averaging <int, double>();
                //averaging.ValidateConsistency();
                validate(averaging, items);

                for (index = 0; index < values.Length; index++)
                {
                    trace(testNum = "2", values, index, value, indexOld, indexNew);
                    items         = getObservableCollection(values);
                    Averaging <int, double> averageComputing1 = items.Averaging <int, double>();
                    items.RemoveAt(index);
                    //averageComputing1.ValidateConsistency();
                    validate(averageComputing1, items);
                }

                for (index = 0; index <= values.Length; index++)
                {
                    for (value = 0; value <= values.Length; value++)
                    {
                        trace(testNum = "8", values, index, value, indexOld, indexNew);
                        items         = getObservableCollection(values);
                        Averaging <int, double> averageComputing1 = items.Averaging <int, double>();
                        items.Insert(index, value);
                        //averageComputing1.ValidateConsistency();
                        validate(averageComputing1, items);
                    }
                }

                for (index = 0; index < values.Length; index++)
                {
                    for (value = -1; value <= values.Length; value++)
                    {
                        trace(testNum = "3", values, index, value, indexOld, indexNew);
                        items         = getObservableCollection(values);
                        Averaging <int, double> averageComputing2 = items.Averaging <int, double>();
                        items[index] = value;
                        //averageComputing2.ValidateConsistency();
                        validate(averageComputing2, items);
                    }
                }

                for (indexOld = 0; indexOld < values.Length; indexOld++)
                {
                    for (indexNew = 0; indexNew < values.Length; indexNew++)
                    {
                        trace(testNum = "7", values, index, value, indexOld, indexNew);
                        items         = getObservableCollection(values);
                        Averaging <int, double> averageComputing2 = items.Averaging <int, double>();
                        items.Move(indexOld, indexNew);
                        //averageComputing2.ValidateConsistency();
                        validate(averageComputing2, items);
                    }
                }
            }
            catch (Exception e)
            {
                string traceString = getTraceString(testNum, values, index, value, indexOld, indexNew);
                _textFileOutputLog.AppentLine(traceString);
                _textFileOutputLog.AppentLine(e.Message);
                _textFileOutputLog.AppentLine(e.StackTrace);
                throw new Exception(traceString, e);
            }
        }
Ejemplo n.º 6
0
 private void validate(Averaging <int, double> averaging, ObservableCollection <int> items)
 {
     Assert.AreEqual(averaging.Value, items.Count > 0 ? items.Average() : double.NaN);
     consumer.Dispose();
 }
Ejemplo n.º 7
0
 // Internal Methods
 internal virtual void Reset()
 {
     Averaging.Reset();
     Offset.Reset();
     _frequency = 50e6;
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Sets new averaging
 /// </summary>
 /// <param name="averaging">Averaging</param>
 public void SetAveraging(Averaging averaging)
 {
     Set(Commands.Averaging, (int)averaging);
 }