Exemple #1
0
            public void ShouldReturnZeroWhenReaderIsClosed()
            {
                // Arrange
                var stream = new ProtoDataStream(this.CreateDataReader("foo"));

                stream.Read(new byte[1024], 0, 1024);

                // Act
                var result = stream.Read(new byte[1024], 0, 1024);

                // Assert
                Assert.Equal(0, result);
            }
Exemple #2
0
            public void It_should_populate_the_buffer_correctly()
            {
                using (var reader = testData.CreateDataReader())
                    using (var stream = new ProtoDataStream(reader))
                    {
                        var buffer1 = new byte[16];
                        stream.Read(buffer1, 0, buffer1.Length).Should().Be(buffer1.Length);
                        buffer1.Should().Have.SameSequenceAs(expectedBytes.Take(buffer1.Length));

                        stream.Read(buffer1, 0, 0).Should().Be(0);

                        var buffer2 = new byte[16 * 1024];
                        stream.Read(buffer2, 0, buffer2.Length).Should().Be(buffer2.Length);
                        buffer2.Should().Have.SameSequenceAs(expectedBytes.Skip(buffer1.Length).Take(buffer2.Length));
                    }
            }
Exemple #3
0
            public void It_should_populate_the_buffer_correctly()
            {
                using (var reader = this.testData.CreateDataReader())
                    using (var stream = new ProtoDataStream(reader))
                    {
                        var buffer1       = new byte[16];
                        var buffer1Readed = stream.Read(buffer1, 0, buffer1.Length);
                        Assert.Equal(buffer1.Length, buffer1Readed);
                        Assert.Equal(this.expectedBytes.Take(buffer1.Length), buffer1);

                        buffer1Readed = stream.Read(buffer1, 0, 0);
                        Assert.Equal(0, buffer1Readed);

                        var buffer2       = new byte[16 * 1024];
                        var buffer2Readed = stream.Read(buffer2, 0, buffer2.Length);
                        Assert.Equal(buffer2.Length, buffer2Readed);
                        Assert.Equal(this.expectedBytes.Skip(buffer1.Length).Take(buffer2.Length), buffer2);
                    }
            }
Exemple #4
0
            public void ShouldDisposeReader()
            {
                // Arrange
                var reader = this.CreateDataReader("foo");
                var stream = new ProtoDataStream(reader);

                // Act
                stream.Read(new byte[1024], 0, 1024);

                // Assert
                Assert.Throws <InvalidOperationException>(() => reader.FieldCount);
            }
Exemple #5
0
            public void ShouldSerializeUsingMultipleIterations()
            {
                // Arrange
                var stream       = new ProtoDataStream(this.CreateDataReader("foo", 1000));
                var outputStream = new MemoryStream();

                var buffer = new byte[1];
                int read;

                // Act
                while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
                {
                    outputStream.Write(buffer, 0, read);
                }

                // Assert
                outputStream.Position = 0;

                var reader = ProtoReader.Create(outputStream, null, null);

                Assert.Equal(ResultFieldHeader, reader.ReadFieldHeader());
            }
            public void It_should_populate_the_buffer_correctly()
            {
                using (var reader = testData.CreateDataReader())
                using (var stream = new ProtoDataStream(reader))
                {
                    var buffer1 = new byte[16];
                    stream.Read(buffer1, 0, buffer1.Length).Should().Be(buffer1.Length);
                    buffer1.Should().Have.SameSequenceAs(expectedBytes.Take(buffer1.Length));

                    stream.Read(buffer1, 0, 0).Should().Be(0);

                    var buffer2 = new byte[16 * 1024];
                    stream.Read(buffer2, 0, buffer2.Length).Should().Be(buffer2.Length);
                    buffer2.Should().Have.SameSequenceAs(expectedBytes.Skip(buffer1.Length).Take(buffer2.Length));
                }
            }