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); }
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); }
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); }