public void SequenceGeneratorTest6()
        {
            IEnumerable <float> expected = new float[] { 1, 3, 5, 7, 9, 11 };
            IEnumerable <float> actual   = LinqTool.Generate(1f, 6, 2);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void SequenceGeneratorTest11()
        {
            IEnumerable <DateTime> expected = new DateTime[]
            {
                new DateTime(2011, 1, 1, 0, 0, 0),
                new DateTime(2011, 1, 2, 0, 0, 0),
                new DateTime(2011, 1, 3, 0, 0, 0),
                new DateTime(2011, 1, 4, 0, 0, 0),
                new DateTime(2011, 1, 5, 0, 0, 0),
                new DateTime(2011, 1, 6, 0, 0, 0)
            };
            IEnumerable <DateTime> actual = LinqTool.Generate(new DateTime(2011, 1, 1, 0, 0, 0), 6, new TimeSpan(24, 0, 0));

            Assert.IsTrue(expected.SequenceEqual(actual));

            //------------------------------//

            try {
                DateTime[] actualRes = LinqTool.Generate(new DateTime(2011, 1, 1, 0, 0, 0), 6, TimeSpan.Zero).ToArray();
                Assert.IsTrue(expected.SequenceEqual(actual));
            }
            catch (ArgumentOutOfRangeException) {}
            catch (InvalidOperationException) {}
            catch (Exception) {
                Assert.Fail();
            }
        }
        public void SequenceGeneratorTest5()
        {
            IEnumerable <double> expected = new double[] { 1, 3, 5, 7, 9, 11 };
            IEnumerable <double> actual   = LinqTool.Generate(1d, 6, 2);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Пример #4
0
        public void VarianceWithBlock_Int_Test(double seed, double step, int count)
        {
            var source   = LinqTool.Generate(1, 5, x => Generator.GenerateInt(x));
            var expected = new double[] { 2.5 };

            var actual = source.Variance(5, x => x.Item2).Round(3);

            if (IsDebugEnabled)
            {
                log.Debug("Variance with Block=[{0}]", actual.CollectionToString());
            }

            actual.SequenceEqual(expected).Should().Be.True();

            //------------------------------------------------------

            source   = LinqTool.Generate(1, 7, x => Generator.GenerateInt(x));
            expected = new double[] { 2.5, 2.5, 2.5 };

            actual = source.Variance(5, x => x.Item2).Round(3);

            if (IsDebugEnabled)
            {
                log.Debug("Variance with Block=[{0}]", actual.CollectionToString());
            }

            actual.SequenceEqual(expected).Should().Be.True();
        }
        public void SequenceGeneratorTest8()
        {
            IEnumerable <long> expected = new long[] { 1, 3, 5, 7, 9, 11 };
            IEnumerable <long> actual   = LinqTool.Generate(1L, 6, 2);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void SequenceGeneratorTest7()
        {
            IEnumerable <decimal> expected = new decimal[] { 1, 3, 5, 7, 9, 11 };
            IEnumerable <decimal> actual   = LinqTool.Generate(1m, 6, 2);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void SequenceGeneratorTest2()
        {
            var           expected = new decimal[] { .03m, .04m, .05m, .06m, .07m, .08m, .09m };
            const decimal factor   = .01m;
            var           actual   = LinqTool.Generate(3, 7, (x) => x * factor);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void CumulativeStdevIntTest1()
        {
            IEnumerable <Tuple <string, int> > source = LinqTool.Generate(1, 5, X => Generator.GenerateInt(X));
            IEnumerable <double> expected             = new double[] { .707, 1, 1.291, 1.581 };
            IEnumerable <double> actual;

            actual = source.CumulativeStDev(X => X.Item2).Round(3);
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void CumulativeStdevDecimalTest1()
        {
            IEnumerable <Tuple <string, decimal> > source = LinqTool.Generate(1, 5, X => Generator.GenerateDecimal(X));
            IEnumerable <decimal> expected = new decimal[] { .707m, 1, 1.291m, 1.581m };
            IEnumerable <decimal> actual;

            actual = source.CumulativeStDev(X => X.Item2).Round(3);
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void CumulativeStdevFloatTest1()
        {
            IEnumerable <Tuple <string, float> > source = LinqTool.Generate(1, 5, X => Generator.GenerateFloat(X, 10));
            IEnumerable <float> expected = new float[] { .707f, 1, 1.291f, 1.581f };
            IEnumerable <float> actual;

            actual = source.CumulativeStDev(X => X.Item2).Round(3);
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void CumulativeStdevNullableDoubleTest1()
        {
            IEnumerable <Tuple <string, double?> > source = LinqTool.Generate(1, 5, X => Generator.GenerateNullableDouble(X, 10, 2));
            IEnumerable <double?> expected = new double?[] { double.NaN, 1.414, 1.528, 1.708 };
            IEnumerable <double?> actual;

            actual = source.CumulativeStDev(X => X.Item2).Select(V => V.Value).Round(3).Cast <double?>();
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Пример #12
0
        public void StandardMovingAverageNullableDoubleTest1()
        {
            var                   source    = LinqTool.Generate(1, 13, X => Generator.GenerateNullableDouble(X, 10, 2));
            const int             blockSize = 3;
            var                   expected  = new double?[] { 2, 3.5, 4, 5, 6, 7, 8, double.NaN, double.NaN, double.NaN, 12 };
            IEnumerable <double?> actual    = MathTool.StandardMovingAverage(source, blockSize, S => S.Item2);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Пример #13
0
        public void StdevDoubleTest2()
        {
            IEnumerable <Tuple <string, double> > source = LinqTool.Generate <Tuple <string, double> >(7, X => Generator.GenerateDouble(X, 10));
            double expected = 2.160;
            double actual;

            actual = Math.Round(source.StDev(X => X.Item2), 3);
            Assert.IsTrue(expected.Equals(actual));
        }
Пример #14
0
        public void StdevDecimalTest2()
        {
            IEnumerable <Tuple <string, decimal> > source = LinqTool.Generate <Tuple <string, decimal> >(7, X => Generator.GenerateDecimal(X));
            decimal expected = 2.160m;
            decimal actual;

            actual = (decimal)Math.Round(source.StDev(X => X.Item2), 3);
            Assert.IsTrue(expected.Equals(actual));
        }
Пример #15
0
        public void StdevFloatTest2()
        {
            IEnumerable <Tuple <string, float> > source = LinqTool.Generate <Tuple <string, float> >(7, X => Generator.GenerateFloat(X, 10));
            float expected = 2.160f;
            float actual;

            actual = (float)Math.Round(source.StDev(X => X.Item2), 3);
            Assert.IsTrue(expected.Equals(actual));
        }
        public void CumulativeStdevNullableIntTest1()
        {
            IEnumerable <Tuple <string, int?> > source = LinqTool.Generate(1, 5, X => Generator.GenerateNullableInt(X, 20));
            IEnumerable <double?> expected             = new double?[] { 0.707, 1.000, 1.291, 1.581 };
            IEnumerable <double?> actual;

            actual = source.CumulativeStDev(X => X.Item2).Select(V => V.Value).Round(3).Cast <double?>();
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Пример #17
0
        public void MovingSumDecimalTest2()
        {
            var                   source    = LinqTool.Generate(1, 13, X => Generator.GenerateDecimal(X));
            const int             blockSize = 3;
            var                   expected  = new decimal[] { 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36 };
            IEnumerable <decimal> actual    = MathTool.MovingSum(source, blockSize, S => S.Item2);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void WeightedMovingAverageIntTest2()
        {
            var       source    = LinqTool.Generate(1, 7, X => Generator.GenerateInt(X));
            var       expected  = new double[] { 2.571, 3.571, 4.571, 5.571, 6.571 };
            const int blockSize = 3;

            var actual = source.WeightedMovingAverage(blockSize, DoubleWeightGen, I => I.Item2).Round(3);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Пример #19
0
        public void StdevIntLongTest2()
        {
            IEnumerable <Tuple <string, int?> > source = LinqTool.Generate <Tuple <string, int?> >(7,
                                                                                                   X => Generator.GenerateNullableInt(X, 10));
            double?expected = 2.160;
            double?actual;

            actual = (double?)Math.Round(source.StDev(X => X.Item2).Value, 3);
            Assert.IsTrue(expected.Equals(actual));
        }
        public void WeightedMovingAverageDecimalTest2()
        {
            var       source    = LinqTool.Generate(1, 7, X => Generator.GenerateDecimal(X));
            var       expected  = new decimal[] { 2.571m, 3.571m, 4.571m, 5.571m, 6.571m };
            const int blockSize = 3;

            IEnumerable <decimal> actual = source.WeightedMovingAverage(blockSize, DecimalWeightGen, I => I.Item2).Round(3);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void WeightedMovingAverageFloatTest2()
        {
            var       source    = LinqTool.Generate(1, 7, X => Generator.GenerateFloat(X, -1));
            var       expected  = new float[] { 2.571f, 3.571f, 4.571f, 5.571f, 6.571f };
            const int blockSize = 3;

            var actual = source.WeightedMovingAverage(blockSize, FloatWeightGen, I => I.Item2).Round(3);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void WeightedMovingAverageNullableLongTest2()
        {
            var       source    = LinqTool.Generate(1, 7, X => Generator.GenerateNullableLong(X, -1));
            var       expected  = new double?[] { 2.571, 3.571, 4.571, 5.571, 6.571 };
            const int blockSize = 3;

            var actual =
                source.WeightedMovingAverage(blockSize, DoubleWeightGen, I => I.Item2).Select(S => S.Value).Round(3).Cast <double?>();

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void CumulativeStdevNullableFloatTest1()
        {
            IEnumerable <Tuple <string, float?> > source = LinqTool.Generate <Tuple <string, float?> >(1, 5,
                                                                                                       X =>
                                                                                                       Generator.GenerateNullableFloat(X, 10,
                                                                                                                                       2));
            IEnumerable <float?> expected = new float?[] { float.NaN, 1.414f, 1.528f, 1.708f };
            IEnumerable <float?> actual;

            actual = source.CumulativeStDev(X => X.Item2).Select(V => V.Value).Round(3).Cast <float?>();
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Пример #24
0
        public void CumulativeMovingAverageIntTest2()
        {
            var source   = LinqTool.Generate(1, 14, X => Generator.GenerateInt(X));
            var expected = LinqTool.Generate(1, 14, X => ((double)X + 1) / 2);
            var actual   = source.CumulativeMovingAverage(X => X.Item2).ToList();

            if (IsDebugEnabled)
            {
                log.Debug(@"expected=[{0}], actual=[{1}]", expected.CollectionToString(), actual.CollectionToString());
            }
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void SequenceGeneratorTest4()
        {
            IEnumerable <int> expected = new int[] { 1, 4, 9, 16, 25, 36, 49, 64, 81 };
            IEnumerable <int> actual   = LinqTool.Generate(1, 9, (x) => x * x);

            Assert.IsTrue(expected.SequenceEqual(actual));

            //------------------------------//

            expected = new int[] { 10, 11, 13, 16, 20, 25, 31 };
            actual   = LinqTool.Generate(10, 7, .5, (x, y, z) => (int)(x + y + z * 2));
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Пример #26
0
        public void MovingSumDecimalTest3()
        {
            var       source    = LinqTool.Generate(1, 13, X => Generator.GenerateNullableDecimal(X, 2));
            const int blockSize = 3;
            var       expected  = new decimal?[] { 4, 7, 12, 15, 18, 21, 24, 27, 30, 33, 36 };
            var       actual    = MathTool.MovingSum(source, blockSize, S => S.Item2);

            if (IsDebugEnabled)
            {
                log.Debug("MovingSum: expected=[{0}], actual=[{1}]", expected.CollectionToString(), actual.CollectionToString());
            }
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Пример #27
0
        public void StandardMovingAverageNullableFloatTest1()
        {
            IEnumerable <Tuple <string, float?> > source = LinqTool.Generate(1, 13, X => Generator.GenerateNullableFloat(X, 10, 2));
            const int blockSize = 3;
            var       expected  = new float?[] { 2, 3.5f, 4, 5, 6, 7, 8, float.NaN, float.NaN, float.NaN, 12 };
            var       actual    = MathTool.StandardMovingAverage(source, blockSize, S => S.Item2);

            if (IsDebugEnabled)
            {
                log.Debug(@"expected=[{0}], actual=[{1}]", expected.CollectionToString(), actual.CollectionToString());
            }

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Пример #28
0
        public void StandardMovingAverageNullableIntTest1()
        {
            var       source    = LinqTool.Generate(1, 13, X => Generator.GenerateNullableInt(X, 2));
            const int blockSize = 3;
            var       expected  = new double?[] { 2, 3.5, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
            var       actual    = MathTool.StandardMovingAverage(source, blockSize, S => S.Item2);

            if (IsDebugEnabled)
            {
                log.Debug(@"expected=[{0}], actual=[{1}]", expected.CollectionToString(), actual.CollectionToString());
            }

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
 public void SequenceGeneratorTest10()
 {
     try {
         var source = new bool[] { true, true, true, true };
         var actual = LinqTool.Generate(false, 3, true).ToArray();
         Assert.Fail();
     }
     catch (InvalidOperationException) {
         //Assert.IsTrue(e.Message == "Generate<T> cannot be invoked using 'Boolean' type, only numeric values are valid.");
     }
     catch (Exception) {
         Assert.Fail();
     }
 }
        public void SequenceGeneratorTest9()
        {
            double angleX = Math.PI * 45 / 180.0;
            IEnumerable <double> expected = new double[]
            {
                Math.Sin(angleX + .000), Math.Sin(angleX + .004), Math.Sin(angleX + .008),
                Math.Sin(angleX + .012), Math.Sin(angleX + .016), Math.Sin(angleX + .020),
                Math.Sin(angleX + .024), Math.Sin(angleX + .028), Math.Sin(angleX + .032),
                Math.Sin(angleX + .036), Math.Sin(angleX + .040), Math.Sin(angleX + .044)
            };
            IEnumerable <double> actual = LinqTool.Generate <double>(angleX, .004d, 12, (X) => Math.Sin(X));

            Assert.IsTrue(expected.SequenceEqual(actual));
        }