Example #1
0
        public async void ReadFrameAsync_ReadFullyDefragmentationStrategyGetFrameLengthReturnsOneAndTcpStreamHasOneByte_ShouldReturnSuccessReadFrameStatus()
        {
            // Arrange
            var strategy     = this.SetupMixedDefragmentationStrategy(MixedDefragmentationStrategyReadType.ReadDefault, 1, () => 1);
            var defragmenter = new MixedDefragmenter(strategy);
            var remotePeer   = this.SetupRemotePeer(new byte[] { 1 });

            // Act
            var result = await defragmenter.ReadFrameAsync(remotePeer, null, CancellationToken.None).ConfigureAwait(false);

            // Assert
            Assert.Equal(ReadFrameStatus.Success, result.ReadFrameStatus);
        }
Example #2
0
        public async void ReadFrameAsync_RemotePeerTcpStreamWithNoData_ShouldReturnStreamClosedReadFrameStatus()
        {
            // Arrange
            var strategy     = this.SetupMixedDefragmentationStrategy(MixedDefragmentationStrategyReadType.ReadDefault, 1024, () => 0);
            var defragmenter = new MixedDefragmenter(strategy);
            var remotePeer   = this.SetupRemotePeer(new byte[] {});

            // Act
            var result = await defragmenter.ReadFrameAsync(remotePeer, null, CancellationToken.None).ConfigureAwait(false);

            // Assert
            Assert.Equal(ReadFrameStatus.StreamClosed, result.ReadFrameStatus);
        }
Example #3
0
        public async void ReadFrameAsync_ReadDefaultDefragmentationStrategyAndSomeNumberOfBytesInTcpStream_ShouldReadAsManyNumberOfBytesAsThereIsInTcpStream(int numberOfBytes)
        {
            // Arrange
            var strategy     = this.SetupMixedDefragmentationStrategy(MixedDefragmentationStrategyReadType.ReadDefault, 1024, () => numberOfBytes);
            var defragmenter = new MixedDefragmenter(strategy);
            var remotePeer   = this.SetupRemotePeer(Enumerable.Repeat <byte>(1, numberOfBytes).ToArray());

            // Act
            var result = await defragmenter.ReadFrameAsync(remotePeer, null, CancellationToken.None).ConfigureAwait(false);

            // Assert
            Assert.Equal(numberOfBytes, result.FrameData.Length);
        }
Example #4
0
        public async void ReadFrameAsync_DefragmentationStrategyReturnsMinusOne_ShouldReturnDroppedReadFrameStatus()
        {
            // Arrange
            var strategy     = this.SetupMixedDefragmentationStrategy(MixedDefragmentationStrategyReadType.ReadDefault, 1024, () => - 1);
            var defragmenter = new MixedDefragmenter(strategy);
            var remotePeer   = this.SetupRemotePeer(new byte[] { 1, 2, 3, 4 });

            // Act
            var result = await defragmenter.ReadFrameAsync(remotePeer, null, CancellationToken.None).ConfigureAwait(false);

            // Assert
            Assert.Equal(ReadFrameStatus.FrameDropped, result.ReadFrameStatus);
        }