public void MultiplyNullableFloatTest()
        {
            var leftSequence  = new float?[] { 1, 2, 3, 4, 5 };
            var rightSequence = new float?[] { 1, 2, 3, 4, 5 };
            var expected      = new float?[] { 1, 4, 9, 16, 25 };

            var actual = LinqTool.Multiply(leftSequence, rightSequence);

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

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

            leftSequence  = new float?[] { 1, 2, 3, float.NaN, float.PositiveInfinity };
            rightSequence = new float?[] { 1, 2, 3, 4, 5 };
            expected      = new float?[] { 1, 4, 9, float.NaN, float.PositiveInfinity };

            actual = LinqTool.Multiply(leftSequence, rightSequence);
            Assert.IsTrue(expected.SequenceEqual(actual));

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

            leftSequence  = new float?[] { 1, null, 3, float.NaN, float.PositiveInfinity };
            rightSequence = new float?[] { 1, 2, 3, 4, 5 };
            expected      = new float?[] { 1, null, 9, float.NaN, float.PositiveInfinity };

            actual = LinqTool.Multiply(leftSequence, rightSequence);
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void MultiplyIntTest()
        {
            var leftSequence  = new int[] { 1, 2, 3, 4, 5 };
            var rightSequence = new int[] { 1, 2, 3, 4, 5 };
            var expected      = new int[] { 1, 4, 9, 16, 25 };

            var actual = LinqTool.Multiply(leftSequence, rightSequence);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void MultiplyLongTest()
        {
            var leftSequence  = new long[] { 1, 2, 3, 4, 5 };
            var rightSequence = new long[] { 1, 2, 3, 4, 5 };
            var expected      = new long[] { 1, 4, 9, 16, 25 };

            IEnumerable <long> actual = LinqTool.Multiply(leftSequence, rightSequence);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void MultiplyNullableIntTest()
        {
            var leftSequence  = new int?[] { 1, 2, 3, 4, 5 };
            var rightSequence = new int?[] { 1, 2, 3, 4, 5 };
            var expected      = new int?[] { 1, 4, 9, 16, 25 };

            var actual = LinqTool.Multiply(leftSequence, rightSequence);

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

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

            leftSequence  = new int?[] { 1, null, 3, 4, 5 };
            rightSequence = new int?[] { 1, 2, 3, null, 5 };
            expected      = new int?[] { 1, null, 9, null, 25 };

            actual = LinqTool.Multiply(leftSequence, rightSequence);
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void MultiplyDoubleTest()
        {
            var leftSequence  = new double[] { 1, 2, 3, 4, 5 };
            var rightSequence = new double[] { 1, 2, 3, 4, 5 };
            var expected      = new double[] { 1, 4, 9, 16, 25 };

            var actual = LinqTool.Multiply(leftSequence, rightSequence);

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

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

            leftSequence  = new double[] { 1, 2, 3, double.NaN, double.PositiveInfinity };
            rightSequence = new double[] { 1, 2, 3, 4, 5 };
            expected      = new double[] { 1, 4, 9, double.NaN, double.PositiveInfinity };

            actual = LinqTool.Multiply(leftSequence, rightSequence);
            Assert.IsTrue(expected.SequenceEqual(actual));
        }