Пример #1
0
        public void TestMethodSuccess()
        {
            IMerge m = new MergeImpl();

            int[] a    = new[] { 1, 5, 7, 90 };
            int[] b    = new[] { 99999, 666 };
            int[] test = new int[6];

            Assert.IsTrue(test.Length == m.Merge(a, b).Length);
        }
Пример #2
0
        public void TestMethodFail()
        {
            IMerge m = new MergeImpl();

            int[] a    = new[] { 1, 5, 7, 90 };
            int[] b    = new[] { 99999, 666 };
            int[] test = new int[65];

            Assert.IsFalse(test.Length == m.Merge(a, b).Length);
        }
Пример #3
0
        public void TestSortSuccess()
        {
            IMerge m = new MergeImpl();

            int[] a      = new[] { 7, 5, 7, 90, 99999, 666, 3 };
            int[] test   = new[] { 3, 5, 7, 7, 90, 666, 99999 };
            var   sorted = m.SortMerge(a);

            for (int i = 0; i < test.Length; i++)
            {
                Assert.IsTrue(test[i] == sorted[i]);
            }
        }
Пример #4
0
        public void TestClassSuccess()
        {
            IMerge m = new MergeImpl();

            int[] a      = new[] { 90, 7, 1, 5 };
            int[] b      = new[] { 99999, 666, 15, 60, 2, 2, 2 };
            int[] test   = new[] { 1, 2, 2, 2, 5, 7, 15, 60, 90, 666, 99999 };
            var   sorted = m.Merge(a, b);

            for (int i = 0; i < test.Length; i++)
            {
                Assert.IsTrue(test[i] == sorted[i]);
            }
        }
Пример #5
0
        protected override IDisposable Run(IObserver <TSource> observer, IDisposable cancel, Action <IDisposable> setSink)
        {
            if (_maxConcurrent > 0)
            {
                var sink = new MergeConcurrent(this, observer, cancel);
                setSink(sink);
                return(sink.Run());
            }
#if !NO_TPL
            else if (_sourcesT != null)
            {
                var sink = new MergeImpl(this, observer, cancel);
                setSink(sink);
                return(sink.Run());
            }
#endif
            else
            {
                var sink = new _(this, observer, cancel);
                setSink(sink);
                return(sink.Run());
            }
        }