public void ReadNamedBlockHeaderReadOversize() { // Well formed data with an extra last byte byte[] streamData = { 79, 105, 71, 114, 111, 117, 112, 0, 11, 0, 0, 0, 91 }; WangStream stream = new WangStream(streamData); // As we ask to read the entire data, including the extra byte, an // error should rise. WangNamedBlockHeader read = WangAnnotationStructureReader.ReadNamedBlockHeader(stream, streamData.Length); Assert.IsTrue(read == null); }
public void ReadNamedBlockHeaderStd32() { // Well formed data with an extra last byte byte[] streamData = { 79, 105, 71, 114, 111, 117, 112, 0, 11, 0, 0, 0, 91 }; WangStream stream = new WangStream(streamData); WangNamedBlockHeader read = WangAnnotationStructureReader.ReadNamedBlockHeader(stream, 12); Assert.IsTrue(read != null); Assert.AreEqual("OiGroup", read.Name); Assert.AreEqual(11, read.Size); Assert.AreEqual(1, stream.AvailableBytes()); }
public void ReadNamedBlockHeaderReadFailure() { byte[] streamData = { 79, 105, 71, 114, 111, 117, 112, 0, 11, 0, 0, 0 }; // The streamData is well formed. // Just using a part of the data should cause an error to rise. for (int dataSize = 0; dataSize < streamData.Length - 1; dataSize++) { byte[] streamDataTooShort = new byte[dataSize]; Array.Copy(streamData, 0, streamDataTooShort, 0, dataSize); WangStream stream = new WangStream(streamDataTooShort); WangNamedBlockHeader read = WangAnnotationStructureReader.ReadNamedBlockHeader(stream, streamDataTooShort.Length); Assert.IsTrue(read == null); } }