예제 #1
0
        public void Decode_DecodesFiveCodes_Decoded()
        {
            var tree = new HuffTree();

            Assert.AreEqual("a", tree.Decode("a"));
            Assert.AreEqual("a", tree.Decode("1"));
            Assert.AreEqual("b", tree.Decode("0b"));
            Assert.AreEqual("r", tree.Decode("00r"));
            Assert.AreEqual("d", tree.Decode("000d"));
        }
예제 #2
0
        public void Decode_DecodesText_Decoded()
        {
            var tree = new HuffTree();
            var result = tree.Decode("T0h00i100s000 011111101111110100o1000r0000t1010111000a101100m111000p00100l00000e101000011010111000x1000101110011010111011101100n1011100c10110010000d0111100100.");

            Assert.AreEqual("This is short sample text to encode.", result);
        }
예제 #3
0
        public void TestHuffaman()
        {
            char[]   chars   = { 'a', 'b', 'c', 'd' };
            double[] weight  = { 7.0, 5.0, 2.0, 4.0 };
            HuffTree huffman = new HuffTree(chars, weight);

            Assert.AreEqual(huffman.Decode(huffman.Encode("abcd")), "abcd");
        }