示例#1
0
        public void Should_throw_invalidoperationexception_when_created_with_non_readable_stream()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Readable: false);

            // When
            var exception = Record.Exception(() => RequestStream.FromStream(stream));

            // Then
            exception.ShouldBeOfType<InvalidOperationException>();
        }
示例#2
0
        public void Should_set_position_of_underlaying_stream_to_zero_when_created()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Position: 10L);

            // When
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // Then
            stream.Position.ShouldEqual(0L);
        }
示例#3
0
        public void Should_move_non_seekable_stream_into_seekable_stream_when_stream_switching_is_disabled()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Seekable: false);

            // When
            var result = RequestStream.FromStream(stream, 0, 1, true);

            // Then
            result.CanSeek.ShouldBeTrue();
        }
示例#4
0
        public void Should_throw_invalidoperationexception_when_created_with_non_readable_stream()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Readable: false);

            // When
            var exception = Record.Exception(() => RequestStream.FromStream(stream));

            // Then
            exception.ShouldBeOfType <InvalidOperationException>();
        }
示例#5
0
        public void Should_move_non_seekable_stream_into_seekable_stream_when_stream_switching_is_disabled()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Seekable: false);

            // When
            var result = RequestStream.FromStream(stream, 0, 1, true);

            // Then
            result.CanSeek.ShouldBeTrue();
        }
示例#6
0
        public void Should_work_even_with_a_non_seekable_stream()
        {
            // Given
            var stream  = new ConfigurableMemoryStream(Seekable: false);
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var result = request.CanRead;

            // Then
            result.ShouldBeTrue();
        }
示例#7
0
        public void Should_throw_argumentoutofrangeexception_when_thresholdLength_is_less_than_zero()
        {
            // Given
            var       stream         = new ConfigurableMemoryStream();
            const int tresholdLength = -1;

            // When
            var exception = Record.Exception(() => RequestStream.FromStream(stream, 0, tresholdLength));

            // Then
            exception.ShouldBeOfType <ArgumentOutOfRangeException>();
        }
示例#8
0
        public void Should_return_true_when_queried_about_supporting_seeking()
        {
            // Given
            var stream  = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var result = request.CanSeek;

            // Then
            result.ShouldBeTrue();
        }
示例#9
0
        public void Should_seek_in_the_underlaying_stream_when_seek_is_called()
        {
            // Given
            var stream  = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            request.Seek(10L, SeekOrigin.Current);

            // Then
            stream.HasBeenSeeked.ShouldBeTrue();
        }
示例#10
0
        public void Should_not_dispose_wrapped_stream_when_not_switched()
        {
            // Given
            var stream   = new ConfigurableMemoryStream();
            var instance = RequestStream.FromStream(stream, 0, 1, true);

            // When
            instance.Dispose();

            // Then
            stream.HasBeenDisposed.ShouldBeFalse();
        }
示例#11
0
        public void Should_flush_underlaying_stream()
        {
            // Given
            var stream  = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            request.Flush();

            // Then
            stream.HasBeenFlushed.ShouldBeTrue();
        }
示例#12
0
        public void Should_throw_invalidoperationexception_when_position_is_set_to_greater_than_length_of_stream()
        {
            // Given
            var stream  = new ConfigurableMemoryStream(Length: 100L);
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var exception = Record.Exception(() => request.Position = 1000);

            // Then
            exception.ShouldBeOfType <InvalidOperationException>();
        }
示例#13
0
        public void Should_return_false_when_queried_about_supporting_timeout()
        {
            // Given
            var stream  = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var result = request.CanTimeout;

            // Then
            result.ShouldBeFalse();
        }
示例#14
0
        public void Should_set_position_of_underlaying_stream()
        {
            // Given
            var stream  = new ConfigurableMemoryStream(Length: 2000L);
            var request = RequestStream.FromStream(stream, 2000L, 2001L, false);

            // When
            request.Position = 1234L;

            // Then
            stream.Position.ShouldEqual(1234L);
        }
示例#15
0
        public void Should_throw_argumentoutofrangexception_when_setting_position_to_less_than_zero()
        {
            // Given
            var stream  = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 2000L, 2001L, false);

            // When
            var exception = Record.Exception(() => request.Position = -1);

            // Then
            exception.ShouldBeOfType <InvalidOperationException>();
        }
示例#16
0
        public void Should_return_length_of_underlaying_stream()
        {
            // Given
            var stream  = new ConfigurableMemoryStream(Length: 1234L);
            var request = RequestStream.FromStream(stream, 0, 1235, false);

            // When
            var result = request.Length;

            // Then
            result.ShouldEqual(1234L);
        }
示例#17
0
        public void Should_not_dispose_wrapped_stream_when_not_switched()
        {
            // Given
            var stream = new ConfigurableMemoryStream();
            var instance = RequestStream.FromStream(stream, 0, 1, true);

            // When
            instance.Dispose();

            // Then
            stream.HasBeenDisposed.ShouldBeFalse();
        }
示例#18
0
        public void Should_throw_notsupportedexception_when_setting_length()
        {
            // Given
            var stream  = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var exception = Record.Exception(() => request.SetLength(10L));

            // Then
            exception.ShouldBeOfType <NotSupportedException>();
        }
示例#19
0
        public void Should_throw_argumentoutofrangeexception_when_expected_lenght_is_less_than_zero()
        {
            // Given
            var stream = new ConfigurableMemoryStream();
            const int expectedLength = -1;

            // When
            var exception = Record.Exception(() => RequestStream.FromStream(stream, expectedLength));

            // Then
            exception.ShouldBeOfType<ArgumentOutOfRangeException>();
        }
示例#20
0
        public void Should_return_position_of_underlaying_stream()
        {
            // Given
            var stream  = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            stream.Position = 1234L;

            // When
            var result = request.Position;

            // Then
            result.ShouldEqual(1234L);
        }
示例#21
0
        public void Should_throw_notsupportedexception_when_setting_length()
        {
            // Given
            var stream = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var exception = Record.Exception(() => request.SetLength(10L));

            // Then
            exception.ShouldBeOfType<NotSupportedException>();
        }
示例#22
0
        public void Should_return_false_when_queried_about_supporting_timeout()
        {
            // Given
            var stream = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var result = request.CanTimeout;

            // Then
            result.ShouldBeFalse();
        }
示例#23
0
        public void Should_return_position_of_underlaying_stream()
        {
            // Given
            var stream = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);
            stream.Position = 1234L;

            // When
            var result = request.Position;

            // Then
            result.ShouldEqual(1234L);
        }
示例#24
0
        public void Should_seek_in_the_underlaying_stream_when_seek_is_called()
        {
            // Given
            var stream = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            request.Seek(10L, SeekOrigin.Current);

            // Then
            stream.HasBeenSeeked.ShouldBeTrue();
        }
示例#25
0
        public void Should_set_position_of_underlaying_stream()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Length: 2000L);
            var request = RequestStream.FromStream(stream, 2000L, 2001L, false);

            // When
            request.Position = 1234L;

            // Then
            stream.Position.ShouldEqual(1234L);
        }
示例#26
0
        public void Should_set_position_of_underlaying_stream_to_zero_when_created()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Position: 10L);

            // When
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // Then
            stream.Position.ShouldEqual(0L);
        }
示例#27
0
        public void Should_return_length_of_underlaying_stream()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Length: 1234L);
            var request = RequestStream.FromStream(stream, 0, 1235, false);

            // When
            var result = request.Length;

            // Then
            result.ShouldEqual(1234L);
        }
示例#28
0
        public void Should_return_true_when_queried_about_supporting_seeking()
        {
            // Given
            var stream = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var result = request.CanSeek;

            // Then
            result.ShouldBeTrue();
        }
示例#29
0
        public void Should_throw_invalidoperationexception_when_position_is_set_to_greater_than_length_of_stream()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Length: 100L);
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var exception = Record.Exception(() => request.Position = 1000);

            // Then
            exception.ShouldBeOfType<InvalidOperationException>();
        }
示例#30
0
        public void Should_flush_underlaying_stream()
        {
            // Given
            var stream = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            request.Flush();

            // Then
            stream.HasBeenFlushed.ShouldBeTrue();
        }
示例#31
0
        public void Should_work_even_with_a_non_seekable_stream()
        {
            // Given
            var stream = new ConfigurableMemoryStream(Seekable: false);
            var request = RequestStream.FromStream(stream, 0, 1, false);

            // When
            var result = request.CanRead;

            // Then
            result.ShouldBeTrue();
        }
示例#32
0
        public void Should_throw_argumentoutofrangexception_when_setting_position_to_less_than_zero()
        {
            // Given
            var stream = new ConfigurableMemoryStream();
            var request = RequestStream.FromStream(stream, 2000L, 2001L, false);

            // When
            var exception = Record.Exception(() => request.Position = -1);

            // Then
            exception.ShouldBeOfType<InvalidOperationException>();
        }