Exemplo n.º 1
0
 def test_cnt_freq(self):
     freqlist = cnt_freq("test1.txt")
     anslist = [0] * 256
     anslist[97:104] = [2, 4, 8, 16, 0, 2, 0]
     self.assertListEqual(freqlist[97:104], anslist[97:104])
     freqlist = cnt_freq("test2.txt")
     anslist = [0] * 256
     anslist[97:104] = [0, 0, 0, 0, 1, 0, 3]
     self.assertListEqual(freqlist[97:104], anslist[97:104])
Exemplo n.º 2
0
 def test_create_code(self):
     freqlist = cnt_freq("test1.txt")
     hufftree = create_huff_tree(freqlist)
     codes = create_code(hufftree)
     self.assertEqual(codes[ord('d')], '1')
     self.assertEqual(codes[ord('a')], '0000')
     self.assertEqual(codes[ord('f')], '0001')
Exemplo n.º 3
0
 def test_create_huff_tree(self):
     freqlist = cnt_freq("test1.txt")
     hufftree = create_huff_tree(freqlist)
     self.assertEqual(hufftree.freq, 32)
     self.assertEqual(hufftree.char, 'a')
     left = hufftree.left
     self.assertEqual(left.freq, 16)
     self.assertEqual(left.char, 'a')
     right = hufftree.right
     self.assertEqual(right.freq, 16)
     self.assertEqual(right.char, 'd')
     freqlist = cnt_freq("test2.txt")
     hufftree = create_huff_tree(freqlist)
     left = hufftree.left
     self.assertEqual(left.freq, 6)
     self.assertEqual(left.char, 'g')
Exemplo n.º 4
0
 def test_create_code3(self):
     freqlist = cnt_freq("test3.txt")
     hufftree = create_huff_tree(freqlist)
     codes = create_code(hufftree)
     self.assertEqual(codes[ord('s')], '111')
     self.assertEqual(codes[ord('t')], '00')
     self.assertEqual(codes[ord('\n')], '10010')
     self.assertEqual(codes[ord(' ')], '101')
Exemplo n.º 5
0
 def test_create_code2(self):
     freqlist = cnt_freq("test2.txt")
     hufftree = create_huff_tree(freqlist)
     codes = create_code(hufftree)
     self.assertEqual(codes[ord('g')], '00')
     self.assertEqual(codes[ord('o')], '01')
     self.assertEqual(codes[ord('\n')], '1000')
     self.assertEqual(codes[ord(' ')], '101')
Exemplo n.º 6
0
 def test_create_huff_tree_1(self):
     freq_list = cnt_freq("test1.txt")
     huff_tree = create_huff_tree(freq_list)
     left = huff_tree.left
     numchars = 16
     self.assertEqual(huff_tree.freq, 17)
     self.assertEqual(left.left.char, "s")
     self.assertEqual(left.left.freq, 3)
     self.assertEqual(huff_tree.right.right.right.char, "e")
 def test_create_code2(self):
     freqlist = cnt_freq("file2.txt")
     hufftree = create_huff_tree(freqlist)
     codes = create_code(hufftree)
     print('g', codes[ord('g')])
     print('o', codes[ord('o')])
     print(' ', codes[ord(' ')])
     self.assertEqual(codes[ord('g')], '00')
     self.assertEqual(codes[ord('o')], '01')
     self.assertEqual(codes[ord(' ')], '101')
 def test_create_code(self):
     freqlist = cnt_freq("file1.txt")
     hufftree = create_huff_tree(freqlist)
     codes = create_code(hufftree)
     print('d', codes[ord('d')])
     print('a', codes[ord('a')])
     print('f', codes[ord('f')])
     self.assertEqual(codes[ord('d')], '0')
     self.assertEqual(codes[ord('a')], '11111')
     self.assertEqual(codes[ord('f')], '1110')
Exemplo n.º 9
0
 def test_create_code_1(self):
     freq_list = cnt_freq("test1.txt")
     huff_tree = create_huff_tree(freq_list)
     code = create_code(huff_tree)
     print("d", code[ord("d")])
     print("s", code[ord("s")])
     print("l", code[ord("l")])
     self.assertEqual(code[ord('d')], '11011')
     self.assertEqual(code[ord('s')], '00')
     self.assertEqual(code[ord('l')], '1001')
 def test_create_code3(self):
     freqlist = cnt_freq("file3.txt")
     hufftree = create_huff_tree(freqlist)
     codes = create_code(hufftree)
     print('s', codes[ord('s')])
     print('t', codes[ord('t')])
     print('a', codes[ord('a')])
     self.assertEqual(codes[ord('s')], '111')
     self.assertEqual(codes[ord('t')], '00')
     self.assertEqual(codes[ord('a')], '010')
 def test_create_huff_tree(self):
     freqlist = cnt_freq("file1.txt")
     hufftree = create_huff_tree(freqlist)
     self.assertEqual(hufftree.freq, 33)
     self.assertEqual(hufftree.left.char, 'd')
     left = hufftree.left
     self.assertEqual(left.freq, 16)
     self.assertEqual(left.char, 'd')
     right = hufftree.right
     self.assertEqual(right.freq, 17)
     self.assertEqual(ord(right.char), 0)
Exemplo n.º 12
0
 def test_create_huff_tree(self):
     freqlist = cnt_freq("test1.txt")
     hufftree = create_huff_tree(freqlist)
     numchars = 32
     charforroot = "a"
     self.assertEqual(hufftree.freq, 32)
     self.assertEqual(hufftree.char, 'a')
     left = hufftree.left
     self.assertEqual(left.freq, 16)
     self.assertEqual(left.char, 'a')
     right = hufftree.right
     self.assertEqual(right.freq, 16)
     self.assertEqual(right.char, 'd')
Exemplo n.º 13
0
 def test_freq(self):
     freq_list = cnt_freq("test1.txt")
     anslist = [0] * 256
     anslist[100:112] = [1, 3, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1]
     self.assertEqual(freq_list[0], 1)
     self.assertEqual(freq_list[100:112], anslist[100:112])
Exemplo n.º 14
0
 def test_04_decodefile(self):
     freqlist = cnt_freq("test4.txt")
     huffman_encode("test4.txt", "test4out.txt")
Exemplo n.º 15
0
 def test_03_decodefile(self):
     freqlist = cnt_freq("test3.txt")
     huffman_decode(freqlist, "test3.out", "decodetest3.txt")
     # capture errors by running 'filecmp' on your encoded file
     # with a *known* solution file
     self.assertTrue(filecmp.cmp("decodetest3.txt", "test3.txt"))
Exemplo n.º 16
0
 def test_create_code3(self):
     freqlist = cnt_freq("test3.txt")
     hufftree = create_huff_tree(freqlist)
     codes = create_code(hufftree)
 def test_create_header(self):
     """ Tests the create header function"""
     freq_list = cnt_freq("test_letters.txt")
     expected_header = "0 1 97 3 98 4 99 2"
     self.assertEqual(expected_header, create_header(freq_list))
Exemplo n.º 18
0
 def test_huffman(self):
     huff_tree1 = create_huff_tree(cnt_freq("test1.txt"))
     huff_tree2 = create_huff_tree(cnt_freq("test1.txt"))
     self.assertEqual(huff_tree1, huff_tree2)
     print(huff_tree1.left.left)
     self.assertEqual(huff_tree1.left.left.freq, 3)