Example #1
0
        public void SetAnyEmptyBufferAsDestinationBuffer_ShouldThrowException_NoBufferIsEmpty()
        {
            var numberOfBuffers = 3;

            IInputBuffer[]  inputBuffers;
            IOutputBuffer[] outputBuffers;
            getIOBuffers(out inputBuffers, out outputBuffers, 2);
            inputBuffers[0].HasNext().Returns(true);
            inputBuffers[1].HasNext().Returns(true);
            inputBuffers[0].HasDummy().Returns(true);
            inputBuffers[1].HasDummy().Returns(true);
            var mergeBuffering = new MergeBufferingIO(ref inputBuffers, ref outputBuffers, 0);

            Assert.Throws <Exception>(() => mergeBuffering.SetAnyEmptyBufferAsDestinationBuffer());
        }
Example #2
0
        public void GetInputBuffer_DestinationBufferIsAtIndex0_InputBufferWithIndex0ShouldNotBeReturned()
        {
            var expectedRecord = Record.Max;

            IInputBuffer[]  inputBuffers;
            IOutputBuffer[] outputBuffers;
            getIOBuffers(out inputBuffers, out outputBuffers, 3);
            inputBuffers[0].HasNext().Returns(false);
            inputBuffers[1].HasNext().Returns(true);
            inputBuffers[2].HasNext().Returns(true);
            inputBuffers[0].GetNextRecord().Returns(Record.NullRecord);
            inputBuffers[1].GetNextRecord().Returns(expectedRecord);
            inputBuffers[2].GetNextRecord().Returns(expectedRecord);

            var mergeBuffering = new MergeBufferingIO(ref inputBuffers, ref outputBuffers, 0);

            Assert.AreEqual(expectedRecord, mergeBuffering.GetInputBuffer(0).GetNextRecord());
            Assert.AreEqual(expectedRecord, mergeBuffering.GetInputBuffer(1).GetNextRecord());
        }
Example #3
0
        public void SetAnyEmptyBufferAsDestinationBuffer_ShouldReturnDesiredBuffer_SelectedBufferHasIndex0()
        {
            var numberOfBuffers = 3;

            IInputBuffer[]  inputBuffers;
            IOutputBuffer[] outputBuffers;
            getIOBuffers(out inputBuffers, out outputBuffers, 3);
            inputBuffers[0].HasNext().Returns(true);
            inputBuffers[1].HasNext().Returns(true);
            inputBuffers[2].HasNext().Returns(false);
            inputBuffers[0].HasDummy().Returns(false);
            inputBuffers[1].HasDummy().Returns(false);
            inputBuffers[2].HasDummy().Returns(false);
            var mergeBuffering = new MergeBufferingIO(ref inputBuffers, ref outputBuffers, 0);

            var expectedSelectedBuffer = 2;

            mergeBuffering.SetAnyEmptyBufferAsDestinationBuffer();
            var actualSelectedBuffer = mergeBuffering.GetDestinationBufferIndex();

            Assert.AreEqual(expectedSelectedBuffer, actualSelectedBuffer);
        }