public void ReadRectangleInvalidSize() { // Well formed data byte[] streamData = { // Left 100, 0, 0, 0, // Top 1, 0, 0, 0, // Right 200, 0, 0, 0, // Bottom 55, 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); int[] coordinates = new int[4]; Assert.IsFalse(WangAnnotationStructureReader.ReadRectangle(coordinates, stream)); } }
public void ReadRectangleStd() { // Well formed data byte[] streamData = { // Left 100, 0, 0, 0, // Top 1, 0, 0, 0, // Right 200, 0, 0, 0, // Bottom 55, 0, 0, 0, }; WangStream stream = new WangStream(streamData); int[] coordinates = new int[4]; Assert.IsTrue(WangAnnotationStructureReader.ReadRectangle(coordinates, stream)); Assert.AreEqual(100, coordinates[WangAnnotationTranslation.LeftIndex]); Assert.AreEqual(1, coordinates[WangAnnotationTranslation.TopIndex]); Assert.AreEqual(200, coordinates[WangAnnotationTranslation.RightIndex]); Assert.AreEqual(55, coordinates[WangAnnotationTranslation.BottomIndex]); Assert.AreEqual(0, stream.AvailableBytes()); }