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])
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')
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')
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')
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')
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')
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)
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')
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])
def test_04_decodefile(self): freqlist = cnt_freq("test4.txt") huffman_encode("test4.txt", "test4out.txt")
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"))
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))
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)