Exemple #1
0
        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);
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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);
            }
        }