public void Encode_AddsThreeSymbol_Added() { var tree = new HuffTree(); tree.Encode('a'); tree.Encode('a'); tree.Encode('b'); tree.Encode('r'); var r = tree.Root; Assert.AreEqual(512, r.Number); Assert.AreEqual(4, r.Weight); Assert.AreEqual(511, r.Right.Number); Assert.AreEqual(2, r.Right.Weight); Assert.AreEqual('a', r.Right.Symbol); Assert.AreEqual(510, r.Left.Number); Assert.AreEqual(2, r.Left.Weight); var n510 = r.Left; Assert.AreEqual(509, n510.Right.Number); Assert.AreEqual(1, n510.Right.Weight); Assert.AreEqual('b', n510.Right.Symbol); Assert.AreEqual(508, n510.Left.Number); Assert.AreEqual(1, n510.Left.Weight); var n508 = n510.Left; Assert.AreEqual(507, n508.Right.Number); Assert.AreEqual(1, n508.Right.Weight); Assert.AreEqual('r', n508.Right.Symbol); Assert.AreEqual(506, n508.Left.Number); Assert.AreEqual(0, n508.Left.Weight); }
public void Encode_AddsTwoOneSymbols_CodeReturned() { var tree = new HuffTree(); Assert.AreEqual("a", tree.Encode('a')); Assert.AreEqual("1", tree.Encode('a')); }
public void Encode_AddsThreeSymbol_CodeReturned() { var tree = new HuffTree(); Assert.AreEqual("a", tree.Encode('a')); Assert.AreEqual("1", tree.Encode('a')); Assert.AreEqual("0b", tree.Encode('b')); Assert.AreEqual("00r", tree.Encode('r')); }
public void Encode_AddsTwoOneSymbols_Added() { var tree = new HuffTree(); tree.Encode('a'); tree.Encode('a'); Assert.AreEqual(512, tree.Root.Number); Assert.AreEqual(2, tree.Root.Weight); Assert.AreEqual(511, tree.Root.Right.Number); Assert.AreEqual(2, tree.Root.Right.Weight); Assert.AreEqual('a', tree.Root.Right.Symbol); Assert.AreEqual(510, tree.Root.Left.Number); Assert.AreEqual(0, tree.Root.Left.Weight); }
public void Encode_EncodesText_Encoded() { var tree = new HuffTree(); var result = tree.Encode("This is short sample text to encode."); Assert.AreEqual("T0h00i100s000 011111101111110100o1000r0000t1010111000a101100m111000p00100l00000e101000011010111000x1000101110011010111011101100n1011100c10110010000d0111100100.", result); }
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"); }
static void Main(string[] args) { string in_f = "C:/Users/chad/rep/encoder/test/files/ex-1.txt"; string out_temp = "C:/Users/chad/rep/encoder/test/files/ex.table"; HuffTree tree = new HuffTree(); tree.Encode(in_f, out_temp); ///string out_f = "C:/Users/chad/rep/encoder/test/files/ex.dec"; //huff.encode(in_f, out_temp); //huff.decode(out_temp, out_f); //Debug.Assert(FileCompare(in_f, out_f)); }
public void Encode_AddsFourSymbol_Added() { var tree = new HuffTree(); tree.Encode('a'); tree.Encode('a'); tree.Encode('b'); tree.Encode('r'); tree.Encode('d'); var r = tree.Root; Assert.AreEqual(512, r.Number); Assert.AreEqual(5, r.Weight); Assert.AreEqual(511, r.Right.Number); Assert.AreEqual(3, r.Right.Weight); Assert.AreEqual(510, r.Left.Number); Assert.AreEqual(2, r.Left.Weight); Assert.AreEqual('a', r.Left.Symbol); var n511 = r.Right; Assert.AreEqual(509, n511.Right.Number); Assert.AreEqual(2, n511.Right.Weight); Assert.AreEqual(508, n511.Left.Number); Assert.AreEqual(1, n511.Left.Weight); Assert.AreEqual('b', n511.Left.Symbol); var n509 = n511.Right; Assert.AreEqual(507, n509.Right.Number); Assert.AreEqual(1, n509.Right.Weight); Assert.AreEqual('r', n509.Right.Symbol); Assert.AreEqual(506, n509.Left.Number); Assert.AreEqual(1, n509.Left.Weight); var n506 = n509.Left; Assert.AreEqual(505, n506.Right.Number); Assert.AreEqual(1, n506.Right.Weight); Assert.AreEqual('d', n506.Right.Symbol); Assert.AreEqual(504, n506.Left.Number); Assert.AreEqual(0, n506.Left.Weight); }