public void DoubleAverageOnTwoTuple()
 {
     var sut = new Tuple<double, double>(1, 2);
       double expected = sut.AsEnumerable().Cast<double>().Average();
       double actual = sut.Average(x => (double) x);
       Assert.AreEqual(expected, actual);
 }
 public void IntegerAverageOnTwoTuple()
 {
     var sut = new Tuple<int, int>(1, 2);
       double expected = sut.AsEnumerable().Cast<int>().Average();
       double actual = sut.Average(x => (int) x);
       Assert.AreEqual(expected, actual);
 }
 public void ShortAverageOnTwoTuple()
 {
     var sut = new Tuple<short, short>(1, 2);
       double expected = sut.AsEnumerable().Cast<short>().Average();
       double actual = sut.Average(x => (short) x);
       Assert.AreEqual(expected, actual);
 }
 public void DecimalAverageOnTwoTuple()
 {
     var sut = new Tuple<decimal, decimal>(1, 2);
       decimal expected = sut.AsEnumerable().Cast<decimal>().Average();
       decimal actual = sut.Average(x => (decimal) x);
       Assert.AreEqual(expected, actual);
 }
示例#5
0
 public void LongAverageOnTwoTuple()
 {
     var sut = new Tuple<long, long>(1, 2);
       double expected = sut.AsEnumerable().Cast<long>().Average();
       double actual = sut.Average(x => (long) x);
       Assert.AreEqual(expected, actual);
 }
示例#6
0
        public void LongAverageOnOneTuple()
        {
            var    sut      = new Tuple <long>(1);
            double expected = sut.AsEnumerable().Cast <long>().Average();
            double actual   = sut.Average(x => (long)x);

            Assert.AreEqual(expected, actual);
        }
示例#7
0
        public void ShortAverageOnOneTuple()
        {
            var    sut      = new Tuple <short>(1);
            double expected = sut.AsEnumerable().Cast <short>().Average();
            double actual   = sut.Average(x => (short)x);

            Assert.AreEqual(expected, actual);
        }
示例#8
0
        public void DecimalAverageOnOneTuple()
        {
            var     sut      = new Tuple <decimal>(1);
            decimal expected = sut.AsEnumerable().Cast <decimal>().Average();
            decimal actual   = sut.Average(x => (decimal)x);

            Assert.AreEqual(expected, actual);
        }
示例#9
0
        public void IntegerAverageOnOneTuple()
        {
            var    sut      = new Tuple <int>(1);
            double expected = sut.AsEnumerable().Cast <int>().Average();
            double actual   = sut.Average(x => (int)x);

            Assert.AreEqual(expected, actual);
        }
示例#10
0
        public void DoubleAverageOnOneTuple()
        {
            var    sut      = new Tuple <double>(1);
            double expected = sut.AsEnumerable().Cast <double>().Average();
            double actual   = sut.Average(x => (double)x);

            Assert.AreEqual(expected, actual);
        }
示例#11
0
        public void DoubleAverageOnSevenTuple()
        {
            var    sut      = new Tuple <double, double, double, double, double, double, double>(1, 2, 3, 4, 5, 6, 7);
            double expected = sut.AsEnumerable().Cast <double>().Average();
            double actual   = sut.Average(x => (double)x);

            Assert.AreEqual(expected, actual);
        }
示例#12
0
        public static double Avg(Tuple<double, double>[] weightedValues)
        {
            if (weightedValues == null || weightedValues.Length == 0)
            {
                return 0;
            }

            double totalWeight = weightedValues.Sum(o => o.Item2);
            if (Math1D.IsNearZero(totalWeight))
            {
                return weightedValues.Average(o => o.Item1);
            }

            double sum = weightedValues.Sum(o => o.Item1 * o.Item2);

            return sum / totalWeight;
        }