示例#1
0
            public void ShouldCallReadByteOnce()
            {
                var mockInput = IOExtensions.CreateMockStream(0xFF);
                var reader    = new PackStreamReader(mockInput.Object, BoltReader.StructHandlers);

                var signature = reader.ReadStructSignature();

                signature.Should().Be(0xFF);
                mockInput.Verify(x => x.Read(It.IsAny <byte[]>(), It.IsAny <int>(), It.IsAny <int>()), Times.Once);
            }
示例#2
0
            public void ShouldReadEmptyStruct16Correctly()
            {
                var mockInput =
                    IOExtensions.CreateMockStream("DD 00 00 01".ToByteArray());
                var reader = new PackStreamReader(mockInput.Object, BoltReader.StructHandlers);

                var header    = reader.ReadStructHeader();
                var signature = reader.ReadStructSignature();
                var fields    = new List <object>();

                for (var i = 0; i < header; i++)
                {
                    fields.Add(reader.Read());
                }

                signature.Should().Be(0x01);
                fields.Count.Should().Be(0);
            }
示例#3
0
            public void ShouldReadTinyStructCorrectly()
            {
                var mockInput =
                    IOExtensions.CreateMockStream("B3 01 01 02 03".ToByteArray());
                var reader = new PackStreamReader(mockInput.Object, BoltReader.StructHandlers);

                var header    = reader.ReadStructHeader();
                var signature = reader.ReadStructSignature();
                var fields    = new List <object>();

                for (var i = 0; i < header; i++)
                {
                    fields.Add(reader.Read());
                }

                signature.Should().Be(0x01);
                fields.Count.Should().Be(3);
                fields.Should().Contain(1L);
                fields.Should().Contain(2L);
                fields.Should().Contain(3L);
            }