Example #1
0
        public String Statistic(String cmdType, String arg1, String arg2)
        {
            ICommand cmd;

            if (cmdType == "Sum")
            {
                ISum sum = SumFactory.GetCommand(arg1, arg2);
                cmd = new SumCommand(sum);
            }
            else if (cmdType == "Average")
            {
                IAverage average = AverageFactory.GetCommand(arg1, arg2);
                cmd = new AverageCommand(average);
            }
            else if (cmdType == "Max")
            {
                IMax max = MaxFactory.GetCommand(arg1, arg2);
                cmd = new MaxCommand(max);
            }
            else
            {
                IMin min = MinFactory.GetCommand(arg1, arg2);
                cmd = new MinCommand(min);
            }

            String res = CommandInvoker.DoCommand(cmd);

            return(res);
        }
Example #2
0
        public double CalculateAverage(List <double> values, IAverage averagingMethod)
        {
            if (values == null)
            {
                throw new ArgumentNullException(nameof(values));
            }

            return(averagingMethod.Average(values));
        }
Example #3
0
        public double CalculateAverage(List <double> values, IAverage averagingMethod)
        {
            if (averagingMethod == null)
            {
                throw new ArgumentNullException($"{nameof(averagingMethod)} need to be not null.");
            }

            return(CalculateAverage(values, averagingMethod.Average));
        }
Example #4
0
        public double CalculateAverage(double[] values, IAverage averageMethod)
        {
            if (values == null)
            {
                throw new ArgumentNullException(nameof(values));
            }

            if (averageMethod == null)
            {
                throw new ArgumentNullException(nameof(averageMethod));
            }

            return(averageMethod.Calculate(values));
        }
Example #5
0
 public static int AverageFor(List <int> values, IAverage averageAlgorithm)
 {
     return(averageAlgorithm.Average(values));
 }
 public double CalculateAverageFor(List <double> values, IAverage average)
 {
     return(average.AverageFor(values));
 }
Example #7
0
 /// <summary>Initializes a new instance of the <see cref="SynchronizedAverage{T}" /> class.</summary>
 /// <param name="base">The base.</param>
 public SynchronizedAverage(IAverage <T> @base) => Base = @base;
Example #8
0
 public AverageCommand(IAverage cmd)
 {
     this.cmd = cmd;
 }
Example #9
0
 private static double CalculateAverage(this IEnumerable <double> values, IAverage average)
 {
     return(average.Average());
 }