public void SkipBytesTest()
        {
            byte[] input = new byte[4] {
                1, 2, 3, 4
            };
            WangStream wangStream = new WangStream(input);

            Assert.IsFalse(wangStream.IsEnd());
            wangStream.SkipBytes(2);
            Assert.IsFalse(wangStream.IsEnd());
            Assert.AreEqual(2, wangStream.AvailableBytes());
            Assert.AreEqual(3, wangStream.ReadByte());
            Assert.IsFalse(wangStream.IsEnd());
            Assert.AreEqual(1, wangStream.AvailableBytes());
        }
        public void ReadByteTest()
        {
            byte[] input = new byte[3] {
                1, 2, 3
            };

            WangStream wangStream = new WangStream(input);

            for (int index = 0; index < input.Length; index++)
            {
                Assert.IsFalse(wangStream.IsEnd());
                Assert.AreEqual(input.Length - index, wangStream.AvailableBytes());
                Assert.AreEqual(input[index], wangStream.ReadByte());
            }
            Assert.IsTrue(wangStream.IsEnd());
            Assert.AreEqual(0, wangStream.AvailableBytes());
        }