示例#1
0
        public void DecodeTest()
        {
            MockEncoder encoder = new MockEncoder();

            encoder.values.Add(42);
            encoder.values.Add(43);
            encoder.values.Add(256);
            LZW lzw = new LZW(encoder);

            Assert.AreEqual(42, lzw.Decode());
            Assert.AreEqual(43, lzw.Decode());
            Assert.AreEqual(42, lzw.Decode());
            Assert.AreEqual(43, lzw.Decode());
        }
示例#2
0
        public void EncodeTest()
        {
            MockEncoder encoder = new MockEncoder();
            LZW         lzw     = new LZW(encoder);

            lzw.Encode((42));
            lzw.Encode((43));
            lzw.Encode((42));
            lzw.Encode((43));
            lzw.Encode((44));
            Assert.AreEqual(encoder.values[0], 42);
            Assert.AreEqual(encoder.values[1], 43);
            Assert.AreEqual(encoder.values[2], 256);
        }
示例#3
0
        public void EncodeDecodeTest()
        {
            MockEncoder encoder = new MockEncoder();
            LZW         lzw     = new LZW(encoder);

            foreach (byte character in "Lorem ipsum dolor sit amet consectetur adepiscig nullam")
            {
                lzw.Encode(character);
            }
            lzw.EncoderFinalize();
            LZW lzwDecoder = new LZW(encoder);

            String output = "";

            foreach (byte character in "Lorem ipsum dolor sit amet consectetur adepiscig nullam")
            {
                byte actual = lzwDecoder.Decode();
                output += (char)actual;
                Assert.AreEqual(character, actual);
            }
        }