public void ShouldReadLittleEndianTraceHeader() { // Arrange var bytes = new byte[240]; bytes[114] = 1; // 1 bytes[115] = 2; // 512 Subject.InlineNumberLocation = 101; bytes[100] = 1; // 1 bytes[103] = 2; // 33,554,432 Subject.CrosslineNumberLocation = 201; bytes[200] = 2; // 2 bytes[203] = 2; // 33,554,432 ITraceHeader traceHeader = null; // Act using (var stream = new MemoryStream(bytes)) using (var reader = new BinaryReader(stream)) traceHeader = Subject.ReadTraceHeader(reader, true); // Assert Assert.AreEqual(513, traceHeader.SampleCount); Assert.AreEqual(33554433, traceHeader.InlineNumber); Assert.AreEqual(33554434, traceHeader.CrosslineNumber); Assert.AreEqual(33554434, traceHeader.TraceNumber); }
public void ShouldReadNumberOfSamplesFromByte115() { // Arrange Int16 expectedValue = 2345; // Act ITraceHeader result = Set16BitValueInBinaryStreamAndRead((sr, br) => sr.ReadTraceHeader(br), 115, expectedValue, false); // Assert Assert.AreEqual(expectedValue, result.SampleCount); }
public void ShouldReadInlineNumberFromSpecifiedByteLocation() { // Arrange Int32 expectedValue = Int16.MaxValue + 100; Subject.InlineNumberLocation = 123; // Act ITraceHeader result = Set32BitValueInBinaryStreamAndRead((sr, br) => sr.ReadTraceHeader(br), Subject.InlineNumberLocation, expectedValue); // Assert Assert.AreEqual(expectedValue, result.InlineNumber); }