public void SubtractNullableFloatTest()
        {
            var leftSequence  = new float?[] { 2, 4, 6, 8, 10 };
            var rightSequence = new float?[] { 1, 2, 3, 4, 5 };
            var expected      = new float?[] { 1, 2, 3, 4, 5 };

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

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

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

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

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

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

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

            actual = LinqTool.Subtract(leftSequence, rightSequence);
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void SubtractIntTest()
        {
            var leftSequence  = new int[] { 2, 4, 6, 8, 10 };
            var rightSequence = new int[] { 1, 2, 3, 4, 5 };
            var expected      = new int[] { 1, 2, 3, 4, 5 };

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

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void SubtractNullableIntTest()
        {
            var leftSequence  = new int?[] { 2, 4, 6, 8, 10 };
            var rightSequence = new int?[] { 1, 2, 3, 4, 5 };
            var expected      = new int?[] { 1, 2, 3, 4, 5 };

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

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

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

            leftSequence  = new int?[] { 2, null, 6, 8, 10 };
            rightSequence = new int?[] { 1, 2, 3, null, 5 };
            expected      = new int?[] { 1, null, 3, null, 5 };

            actual = LinqTool.Subtract(leftSequence, rightSequence);
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void SubtractNullableDecimalTest()
        {
            var leftSequence  = new decimal?[] { 2, 4, 6, 8, 10 };
            var rightSequence = new decimal?[] { 1, 2, 3, 4, 5 };
            var expected      = new decimal?[] { 1, 2, 3, 4, 5 };

            IEnumerable <decimal?> actual = LinqTool.Subtract(leftSequence, rightSequence);

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

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

            leftSequence  = new decimal?[] { 2, null, 6, null, 10 };
            rightSequence = new decimal?[] { 1, 2, 3, null, 5 };
            expected      = new decimal?[] { 1, null, 3, null, 5 };

            actual = LinqTool.Subtract(leftSequence, rightSequence);
            Assert.IsTrue(expected.SequenceEqual(actual));
        }
        public void SubtractDoubleTest()
        {
            var leftSequence  = new double[] { 1, 2, 3, 4, 5 };
            var rightSequence = new double[] { 1, 2, 3, 4, 5 };
            var expected      = new double[] { 0, 0, 0, 0, 0 };

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

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

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

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

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